home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / graphics / chs_ultd.lzh / CHS_ULTD.500 / ANLEITNG / CHAOS_1.TXT < prev    next >
Text File  |  1992-09-27  |  125KB  |  2,770 lines

  1.  
  2.  
  3.  
  4.  
  5.            CHAOSultd
  6.  
  7.  
  8.  
  9.          Version 5.0m
  10.  
  11.  
  12.          Version 5.0c
  13.  
  14.  
  15.  
  16.           15.8.1992
  17.  
  18.  
  19.  
  20.             von
  21.  
  22.  
  23.  
  24.      Th.  Morus  Walter
  25.  
  26.  
  27.  
  28.  
  29. Inhaltsverzeichnis
  30.  
  31.  
  32. 1  allgemeine Beschreibung und Leistungsfähigkeit                           4
  33.  
  34.  
  35. 2  Copyright                                                                5
  36.  
  37.  
  38. 3  Installation                                                             5
  39.    3.1   benötigte Hardware                                                 5
  40.    3.2   Lieferumfang                                                       6
  41.    3.3   Installation                                                       6
  42.  
  43.  
  44. 4  Danksagung                                                               7
  45.  
  46.  
  47. 5  zur Geschichte von CHAOSultd V5.0                                        7
  48.    5.1   Vorgeschichte                                                      7
  49.    5.2   CHAOSultd V5.0                                                     8
  50.    5.3   Änderungen gegenüber FRACTAL 4.30                                  9
  51.    5.4   Ausblick                                                           9
  52.  
  53.  
  54. 6  Fehler                                                                  10
  55.    6.1   eliminierte Fehler                                                11
  56.    6.2   bekannte Fehler                                                   11
  57.    6.3   unbekannte Fehler                                                 12
  58.    6.4   Fehler in der Anleitung                                           12
  59.  
  60.  
  61. 7  zu dieser Anleitung                                                     12
  62.  
  63.  
  64.  
  65. I   CHAOSultd                                                              14
  66.  
  67.  
  68. 1  Verwaltung von Bildern - der Desktop                                    14
  69.    1.1   Objekte                                                           14
  70.    1.2   Objekt-Icon                                                       14
  71.    1.3   Selektieren von Objekten                                          15
  72.    1.4   Scrollen                                                          15
  73.    1.5   Infoleiste                                                        16
  74.    1.6   Speicher-Info                                                     16
  75.    1.7   Bilder Packen                                                     17
  76.    1.8   Objekte löschen                                                   18
  77.  
  78.  
  79. 2  Bilder erzeugen                                                         18
  80.    2.1   neue Bilder                                                       18
  81.    2.2   Weiterberechnen von Bildern                                       18
  82.    2.3   Vier Bilder                                                       19
  83.    2.4   Neu berechnen                                                     19
  84.  
  85.  
  86.  
  87.                                             1
  88.  
  89.  
  90.  
  91.  
  92. 3  Anzeigen                                                                         19
  93.    3.1   Bilder anzeigen                                                   19
  94.    3.2   Block zeigen                                                      21
  95.    3.3   Bildvergleich                                                     22
  96.    3.4   Parameter anzeigen                                                22
  97.    3.5   Bildinfo                                                          22
  98.  
  99.  
  100. 4  Filme                                                                   23
  101.    4.1   Filme erzeugen                                                    23
  102.    4.2   Filme ändern                                                      24
  103.    4.3   Filme anzeigen                                                    24
  104.  
  105.  
  106. 5  Input/Output                                                            24
  107.    5.1   Speichern                                                         24
  108.    5.2   Laden                                                             25
  109.    5.3   Drucken                                                           26
  110.  
  111.  
  112. 6  Einstellungen                                                           27
  113.    6.1   allgemeine Einstellung                                            28
  114.    6.2   Druckereinstellung                                                29
  115.    6.3   Voreinstellung der Bildparameter                                  30
  116.  
  117.  
  118. 7  Besonderheiten der Farbversion                                          30
  119.    7.1   Auflösungswechsel                                                 30
  120.    7.2   Farbeinstellung                                                   30
  121.  
  122.  
  123. 8  Tastatur-Kommandos                                                      32
  124.  
  125.  
  126. 9  Sonstiges                                                               32
  127.  
  128.  
  129.  
  130. II   die Fractal-Routinen                                                  33
  131.  
  132.  
  133. 1  der Algorithmus                                                         33
  134.  
  135.  
  136. 2  Parameter                                                               33
  137.    2.1   benötigte Parameter                                               33
  138.    2.2   Eingabe der Parameter                                             35
  139.    2.3   Fractalbildfolgen                                                 37
  140.    2.4   3d Fractale                                                       37
  141.    2.5   freie Fractale                                                    37
  142.  
  143.  
  144. 3  unterstützte Optionen                                                   39
  145.    3.1   Parameter anzeigen                                                39
  146.    3.2   Bild-Info anzeigen                                                39
  147.    3.3   Bilder anzeigen                                                   40
  148.    3.4   Block zeigen                                                      40
  149.    3.5   neu berechnen                                                     40
  150.  
  151.  
  152.  
  153.                                             2
  154.  
  155.  
  156.  
  157.  
  158.    3.6   Vier Bilder                                                       40
  159.    3.7   Hardcopy                                                          40
  160.  
  161.  
  162.  
  163. III   Hüpfer                                                               41
  164.  
  165.  
  166. 1  der Algorithmus                                                         41
  167.  
  168.  
  169. 2  Parameter                                                               41
  170.  
  171.  
  172. 3  unterstützte Routinen                                                   42
  173.  
  174.  
  175.  
  176. IV   Feigenbaum-Diagramme                                                  43
  177.  
  178.  
  179. 1  Algorithmus                                                             43
  180.  
  181.  
  182. 2  Parameter                                                               43
  183.  
  184.  
  185. 3  unterstützte Routinen                                                   43
  186.  
  187.  
  188.  
  189. V   Dateiformate                                                           45
  190.  
  191.  
  192. 1  CHAOSultd-Bilder                                                        45
  193.  
  194.  
  195. 2  Filme                                                                   46
  196.  
  197.  
  198. 3  Einstellungen                                                           47
  199.  
  200.  
  201.  
  202. VI   die Schnittstelle für externe Routinen                                48
  203.  
  204.  
  205. 1  Beschreibung der benötigten Routinen                                    48
  206.    1.1   allgemeine Angaben                                                49
  207.    1.2   Routinen                                                          50
  208.  
  209.  
  210. 2  Beschreibung der von CHAOSultd zur Verfügung gestellten Routinen        55
  211.    2.1   Routinen                                                          56
  212.    2.2   Variable                                                          62
  213.  
  214.  
  215. 3  Vorgehensweise                                                          63
  216.  
  217.  
  218.  
  219.                                             3
  220.  
  221.  
  222.  
  223.  
  224. 1    allgemeine Beschreibung und Leistungsfähigkeit
  225.  
  226.  
  227. CHAOSultd V5.0  ist ein universelles Programm zur Erzeugung und Verwaltung fraktaler
  228. und chaotischer Bilder auf dem Atari ST.
  229.  
  230. Ein paar Stichworte zum Funktionsumfang:
  231.  
  232.  
  233.    o  Versionen für Farb- und Monochrom-Betrieb
  234.  
  235.       im Farb-Betrieb läuft das Programm in mittlerer Auflösung, schaltet für die Darstel-
  236.       lung von Bildern aber in niedrige Auflösung um
  237.  
  238.  
  239.    o  Verwaltung von bis zu 9999 Bildern solange der Speicher reicht
  240.  
  241.       durch Packen der Bilder sind bei 4 MByte Speicher bis zu mehreren hundert Bildern
  242.       (in Screen-Grösse) möglich
  243.  
  244.  
  245.    o  drei Bildgrössen
  246.  
  247.  
  248.    o  Berechnung von Bildfolgen, bei denen man nur Start- und Endwerte angibt
  249.  
  250.  
  251.    o  Verwaltung von (beliebigen) Bildserien als Film
  252.  
  253.  
  254.    o  umfangreiche Hardcopyfunktion für 24Nadel Matrixdrucker
  255.  
  256.  
  257.    o  Erweiterbarkeit um eigene, externe Berechnungsroutinen
  258.  
  259.  
  260.    o  Berechnungsroutinen für
  261.  
  262.  
  263.         -  Fractale (einschliesslich Mandelbrot- und Juliamengen)
  264.  
  265.              * Schwarzweiss- und Graustufenbilder (in der SW-Version)
  266.  
  267.              * eine schnelle Berechnung der Bilder (es gibt zugegebenermassen auch noch
  268.                etwas schnellere Apfelmännchenprogramme, aber CHAOSultd braucht sich
  269.                auch in dieser Hinsicht nicht zu verstecken)
  270.  
  271.         -  (pseudo) dreidimensionale Fractale
  272.  
  273.         -  Fractale mit frei definierter Berechnungsformel (Pickovermengen)
  274.  
  275.         -  Hüpfer (nach Barry Martin)
  276.  
  277.         -  Feigenbaum-Diagramme
  278.  
  279.  
  280. Bei der Implementierung der Berechnungsroutinen wurde insbesondere auf möglichst flexi-
  281. ble Parametereingaben geachtet. Dadurch hat der Anwender bei der Bilderzeugung mehr
  282. Möglichkeiten als in anderen Programmen. Andererseits in CHAOSultd dadurch sicher nicht
  283. das einfachste Programm zur Erzeugung von fraktalen und chaotischen Bildern; an vielen
  284. Stellen ist es von Vorteil, wenn man eine Vorstellung von der Arbeitsweise des hinter den
  285. Bildern stehenden Algorithmus' hat. Insofern richtet sich CHAOSultd auch nicht in erster
  286. Linie an Anfänger in Sachen Fraktale. Die Algorithmen werden zwar in der Anleitung kurz
  287. beschrieben, dabei werden aber teilweise mathematische Grundkenntnisse (z.B. komplexe
  288. Zahlen) vorausgesetzt.
  289. Trotz dieser Warnung ist natürlich jeder herzlich eingeladen, selbst festzustellen, ob er etwas
  290. mit dem Programm anfangen kann. Insbesondere sei hier noch auf die Beispiel-Bilder hin-
  291. gewiesen, von denen man ja bei eigenen Experimenten mit den vielen Parametern ausgehen
  292. kann.
  293.  
  294.  
  295.  
  296.                                             4
  297.  
  298.  
  299.  
  300.  
  301. 2    Copyright
  302.  
  303.  
  304. CHAOSultd V5.0  (c) 1992 by TMMW Th. Morus Walter!
  305.  
  306. Th. Morus Walter
  307. Schulstr. 22
  308. W-8401 Pentling
  309. Tel. 0941 949802
  310.  
  311. Dieses Programm ist Public Domain!
  312.  
  313. Das Programm darf frei kopiert und weitergegeben werden, wobei aber alle in Abschnitt
  314. 3.2 genannten Dateien kopiert werden müssen.
  315. Komerzielle Nutzung ist ausgeschlossen, mit Ausnahme der für den Vertrieb von PD-
  316. Disketten üblichen Kopiergebüren.
  317.  
  318.  
  319.  
  320. Hinweis
  321.  
  322.  
  323. Die Benutzung des Programmes geschieht auf eigene Gefahr. Der Autor garantiert weder
  324. für irgendwelche Schäden (am Rechner oder auch am Benutzer) noch für die korrekte Funk-
  325. tionsweise des Programmes. Insbesondere wird nicht garantiert, dass den erzeugten Bildern
  326. auch wirklich die beschriebenen Algorithmen zugrundeliegen, auch wenn ich natürlich davon
  327. ausgehe.
  328.  
  329.  
  330.  
  331. noch ein Hinweis
  332.  
  333.  
  334. Nie wieder Krieg! Nie wieder Faschismus!
  335.  
  336.  
  337.  
  338. 3    Installation
  339.  
  340.  
  341. 3.1   benötigte Hardware
  342.  
  343.  
  344. CHAOSultd V5.0  sollte auf jedem Atari ST mit mindestens 1 MByte laufen (je mehr
  345. Speicher desto besser)1.
  346. Das Programm greift direkt auf den Bildschirmspeicher zu und läuft deshalb nur in den Stan-
  347. dartauflösungen, dabei ist CHS_ULTD.PRG im Monochrombetrieb und CHS_ULTC.PRG
  348. in der mittleren Auflösung zu verwenden (die Farbversion CHS_ULTC schaltet dann aller-
  349. dings zur Anzeige von Bildern in die geringe Auflösung).
  350. Grafikkarten irgendwelcher Art werden nicht unterstützt.
  351. Die Lauffähigkeit auf einem TT ist mir unbekannt (wenn mir einer einen TT schenkt,
  352. dann teste ich das ganze gerne), zumindest die Monochrom-Version sollte laufen (in der
  353. entsprechenden Auflösung).
  354. CHAOSultd V5.0  unterstützt beliebige Massenspeicher (ohne Festplatte dauert das Spei-
  355. chern natürlich länger) und 24-Nadel-Matrixdrucker. Andere Druckertypen werden (stark)
  356. eingeschränkt unterstützt.
  357.  
  358.  
  359.  
  360. ____________________________________1
  361.     theoretisch läuft das Programm auch mit 512 kByte, sinnvoller Betrieb ist so aber kaum mö*
  362.  *glich
  363.  
  364.  
  365.  
  366.                                             5
  367.  
  368.  
  369.  
  370.  
  371. 3.2   Lieferumfang
  372.  
  373.  
  374. CHAOSultd umfasst die folgenden Dateien und Ordner:
  375.  CHS_ULTD.PRG       das Programm für die hohe Auflösung
  376.  CHS_ULTC.PRG       das Programm für die mittlere/geringe Auflösung
  377.  READ_ME.TXT
  378.  CHS_ULTD\
  379.  
  380.     CHS_ULTD.RSC    die Resourcedatei für die hohe Auflösung
  381.     CHS_ULTD.SET    die Einstellungen für die hohe Auflösung
  382.     CHS_ULTC.RSC    die Resourcedatei für die mittlere Auflösung
  383.     CHS_ULTC.SET    die Einstellungen für die mittlere Auflösung
  384.     FEIGBAUM.XCH    die (externen) Routinen für Feigenbaum-Diagramme
  385.                       (nur hohe Auflösung)
  386.     FEIGBAUM.RSC    deren Resource-Datei
  387.  
  388.  ANLEITNG\
  389.     CHS_ULTD.DVI    die Anleitung im TEX Format
  390.     CHS_ULTD.TXT      und als ASCII-Text
  391.     CHS_EXT.DVI     die Programmieranleitung der Schnittstelle im TEX Format
  392.     CHS_EXT.TXT       und als ASCII-Text
  393.     CHS_ULTD.TOS    die Anleitungen als Postscript-Datei
  394.                      (selbstentpackendes Archiv)
  395.  
  396.  BEISPIEL\          Ordner mit Beispielen (unberechnet)
  397.  SOURCEN\
  398.     FEIGBAUM.C      der Quelltext der Feigenbaum-Routinen
  399.     FEIGBAUM.RSC    Resource-Datei
  400.     FEIGBAUM.DFN    Definitions-Datei der Resourcen
  401.     FEIGBAUM.H      Header-Datei zu den Resourcen
  402.     XCOMMON.H       Header-Datei für die externen Routinen
  403.     GEM.H           Header-Datei mit GEM-Macros
  404.  
  405.  
  406.  
  407. 3.3   Installation
  408.  
  409.  
  410. Installieren im eigentlichen Sinne braucht man CHAOSultd nicht. Man kopiert einfach die
  411. Programm-Dateien CHS_ULTD.PRG, CHS_ULTC.PRG, sowie die Dateien im Ordner CHS_UTLD
  412. auf eine Diskette bzw. in irgendeinen Ordner auf der Festplatte. Möchte man ausschliesslich
  413. die sw-Version oder ausschliesslich die Farb-Version verwenden, so kann man sich natürlich
  414. auf die entsprechenden Dateien beschränken.
  415. Wesentlich bei der Installation ist nur, dass sich die Resource-Dateien, die Parameterdateien
  416. (*.SET) und alle externen Berechnungsroutinen (bisher nur FEIGBAUM.XCH) relativ zu den
  417. Programmdateien in einem Ordner CHS_ULTD befinden, da das Programm sie sonst nicht
  418. findet.
  419.  
  420.  
  421.  
  422.                                             6
  423.  
  424.  
  425.  
  426.  
  427. 4    Danksagung
  428.  
  429.  
  430. CHAOSultd V5.0  wurde im wesentlichen mit Hilfe folgender Programme entwickelt:
  431.  
  432.  
  433.    o  Pure C 1.0, PureDebugger
  434.  
  435.  
  436.    o  Devpac Assembler
  437.  
  438.  
  439.    o  Interface Resource Construction Set
  440.  
  441.  
  442.    o  Tempus Editor
  443.  
  444.  
  445.    o  Gemini (als Grundlage für alles andere)
  446.  
  447.  
  448.    o  Lindner-TEX (für diese Anleitung)
  449.  
  450.  
  451.  
  452. besonderen Dank an
  453.  
  454.  
  455.    o  Michael G.
  456.  
  457.       für die Fliesskommaroutinen der freidef. Fractale
  458.       und einige gefundene Fehler
  459.  
  460.  
  461.  
  462. 5    zur Geschichte von CHAOSultd V5.0
  463.  
  464.  
  465. Vorbemerkung:
  466. einige der folgenden Abschnitte sind sicher nur von begrenzten allgemeinem Interesse. Ich
  467. nehme mir aber die Freiheit sie trotzdem zu schreiben. Zumindest den Abschnitt 5.2 sollte
  468. man auch lesen.
  469.  
  470.  
  471.  
  472. 5.1   Vorgeschichte
  473.  
  474.  
  475.    o  CHAOSultd V5.0  ist der Nachfolger von FRACTAL 4.30
  476.  
  477.  
  478.    o  FRACTAL 4.30 ist eine erweiterte Version von FRACTAL 4.10
  479.  
  480.  
  481.    o  FRACTAL 4.10 ist der Nachfolger von FRACTALS 3.00
  482.  
  483.  
  484.    o  FRACTALS 3.00 ist eine erweiterte Version von FRACTALS 2.20
  485.  
  486.  
  487.    o  FRACTALS 2.20 ist der Nachfolger von APFELMÄNNCHEN 1.10
  488.  
  489.  
  490.    o  APFELMÄNNCHEN 1.10 ist der Nachfolger von APFELMÄNNCHEN 1.00
  491.  
  492.  
  493.  
  494.    o  APFELMÄNNCHEN 1.00 ist das erste Apfelmännchenprogramm das ich für den ST
  495.       geschrieben habe. Das Programm entstand im Herbst 1986, es hatte keine GEM-
  496.       Umgebung aber GEM-Dialogboxen, die ich damals (in Ermangelung eines Resource-
  497.       Construction-Sets) von Hand erstellt haben. Die Berechnung erfolgte in C und war
  498.  
  499.       ätzend langsam.
  500.  
  501.  
  502.  
  503.                                             7
  504.  
  505.  
  506.  
  507.  
  508.    o  APFELMÄNNCHEN  1.10  vom  13.1.87  erhielt  dann  eine  GEM-Oberfläche  mit
  509.       Menü und Fenstern.
  510.  
  511.  
  512.    o  Der nächste Schritt bestand in der Ersetzung der C-Routinen zur Berechnung durch
  513.       schnelle Assembler-Routinen sowie in der Farbanpassung; ausserdem wurden pseudo-
  514.       dreidimensionale Fractale ermöglicht. Das Ergebnis war (mit verschollenen Zwischen-
  515.       schritten) FRACTALS 2.20 vom 8.2.88
  516.  
  517.  
  518.    o  Für FRACTALS 3.00 vom 30.4.88 wurde die Berechnungsroutine und die anzugeben-
  519.       den Parameter verallgemeinert, um auch Julia-Mengen berechnen zu können.
  520.  
  521.  
  522.    o  Der nächste grosse Schritt war dann FRACTAL 4.10 vom 25.8.90. Die Fenster zur An-
  523.       zeige von Bildern wurden aufgegeben, das Programm kann dafür auf einem eigenen
  524.       Desktop bis zu 88 Bildern verwalten. Zusätzlich wurde zur Erzeugung von Pickover-
  525.       Mengen ein Formelcompiler eingebaut, so dass man Fractale mit frei definierter Be-
  526.       rechnungsformel erzeugt werden können.
  527.  
  528.  
  529.    o  Als nächster Schritt wurde für FRACTAL 4.30 vom 25.3.92 der Desktop sowie die
  530.       Bild- und Speicherverwaltung für die Verwaltung von bis zu 9999 Bildern (soweit der
  531.       Speicher dafür reicht) umgeschrieben
  532.  
  533.  
  534. Soweit die Vorgänger von CHAOSultd V5.0 . Die Beschreibung der Features der einzelnen
  535. Programme ist natürlich rudimentär und soll lediglich den generellen Gang der Entwicklung
  536. bis hin zu CHAOSultd V5.0  beschreiben.
  537. Wie man sieht habe ich die Nummerierung der Versionen unabhängig von den variierenden
  538. Namen durchgezogen. Ein neuer Name wurde im Prinzip immer dann eingeführt, wenn sich
  539. die nächste "Version" wesentlich vom Vorgänger unterschied.
  540.  
  541.  
  542.  
  543. 5.2   CHAOSultd V5.0
  544.  
  545.  
  546. Wer FRACTAL 4.30 kennt und jetzt CHAOSultd V5.0  ausprobiert, wird sich vermut-
  547. lich fragen, was denn in CHAOSultd V5.0  so neu ist, dass ich auch hier einen neuen Na-
  548. men gewählt habe. Die Unterschiede sind nach aussen und auf den ersten Blick in der Tat
  549. nicht sonderlich gross - mal abgesehen von den neuen Berechnungsroutinen für Hüpfer- und
  550. Feigenbaum-Diagramme.
  551. Der wesentliche Unterschied liegt im Inneren von CHAOSultd. In FRACTAL 4.30 waren die
  552. Routinen zur Parametereingabe, zur Berechnung und zur Anzeige von Bildparametern und
  553. Daten integraler Bestandteil des Programmes. Das Programm war als solche Einheit nur
  554. schwer durch neue Berechnugsroutinen zu erweitern, da ich dafür das Programm jedesmal
  555. komplett hätte umschreiben müssen.
  556. CHAOSultd zerfällt nun in zwei Bereiche: den Verwaltungsteil und die Berechnungsroutinen.
  557. Der Verwaltungsteil enthält alle Routinen zur Verwaltung der Bilder, zum Laden und Spei-
  558. chern, für Filme zum Anzeigen usw. Die Bildparameter werden zwar mitverwaltet, dieser
  559. Teil des Programmes kennt aber nur ihre Länge und kümmert sich nicht darum, was in den
  560. Bildparametern drinsteht.
  561. Zu den Berechnugsroutinen gehört neben der eigentlichen Bild-Berechnung die Eingabe und
  562. Anzeige von Bildparametern etc.
  563. Die beiden Bereiche sind weitgehend getrennt, der Verwaltungsteil kennt von den Berech-
  564. nungsroutinen lediglich eine Daten-Struktur, in der einige Angaben wie Parameterlänge
  565.  
  566.  
  567.  
  568.                                             8
  569.  
  570.  
  571.  
  572.  
  573. etc. festgelegt werden und in der die Adressen der verschiedenen Routinen stehen, über
  574. die sie der Verwaltungsteil, der ja auch die ganze Programmsteuerung über Menü, Tasta-
  575. tur und Desktop übernimmt, dann aufruft. Die Anzahl möglicher Berechnungsroutinen ist
  576. dabei variabel.
  577. Das ganze hat zweierlei Auswirkungen:
  578. zum einen kann ich als Autor neue Berechnungsroutinen ohne Änderungen am Verwaltungs-
  579. programm aufnehmen,
  580. zum anderen ermöglicht diese Aufteilung eine Schnittstelle zu externen (von CHAOSultd
  581. nachgeladenen) Programmen, die dann ihrerseits zusätzliche Berechnungsroutinen und da-
  582. mit Bildtypen zur Verfügung stellen können. Für den Benutzer von CHAOSultd gibt es
  583. dabei keinen Unterschied zwischen internen (also von mir fest in das Programm eingebau-
  584. ten) und externen Routinen. Externe Berechnungsroutinen können im Prinzip von jedem
  585. Programmierer realisiert werden.
  586. Zu den Details der Schnittstelle siehe Teil VI dieser Anleitung.
  587.  
  588.  
  589.  
  590. 5.3   Änderungen gegenüber FRACTAL 4.30
  591.  
  592.  
  593. Neben einer Reihe eliminierter Fehler (vgl. 6.1) wurden - abgesehen von den immensen
  594. internen Änderungen und den neuen Routinen zur Berechnung von Bildern mit dem Hüpfer-
  595. und Feigenbaum-Algorithmus - einige Details geändert:
  596.  
  597.  
  598.    o  CHAOSultd besitzt ein neues Dateiformat; ich hoffe es ist mir gelungen dieses so
  599.       allgemein zu definieren, dass es für die Zukunft bestand hat. Bilder in FRACTAL-
  600.       Formaten können weiter geladen werden - mit Ausnahme von nicht fertig berechneten
  601.       3d-Bildern.
  602.  
  603.  
  604.    o  das Speicher-Info (via Klick auf die Info-Leiste) ist umfangreicher und informativer
  605.       geworden
  606.  
  607.  
  608.    o  die Einstellung der maximale Tiefe, die bei Punktinfos von Fractalen verwendet wer-
  609.       den soll, ist der neuen Struktur zum Opfer gefallen. Statt dessen wird jetzt die maxi-
  610.       male Tiefe des Bildes verwendet.
  611.  
  612.  
  613.    o  Die Menüs haben sich geändert, die (scheinbar) weggefallenen Menüpunkte für das
  614.       Voreinstellen der Parameter erreicht man durch SHIFT-Klick auf die Menüpunkte im
  615.       Neu-Menü.
  616.  
  617.  
  618.    o  für den Desktop sind einige neue Tastaturkommandos dazugekommen (vgl. I.1.3)
  619.  
  620.  
  621. Die Liste ist vermutlich nicht vollständig, ich habe mal wieder nicht Buch geführt, was ich
  622. alles gemacht habe.
  623.  
  624.  
  625.  
  626. 5.4   Ausblick
  627.  
  628.  
  629. CHAOSultd ist entstanden, weil ich gewissermassen den Ehrgeiz habe, das ultimative Fractal-
  630. Programm für den ST zu schreiben.
  631. Ich glaube nicht, dass ich das irgendwann schaffe, aber ich denke doch, dass CHAOSultd
  632. V5.0  einen Schritt in diese Richtung darstellt.
  633.  
  634.  
  635.  
  636.                                             9
  637.  
  638.  
  639.  
  640.  
  641. Wesentliche Einschränkungen in CHAOSultd V5.0  sind allerdings die fest vorgegebenen
  642. Bildgrössen und vor allem die Beschränkung auf ST-Standartauflösungen. Auch für künf-
  643. tiges Multitasking unter GEM ist CHAOSultd V5.0  durch den direkten Zugriff auf den
  644. Bildschirmspeicher natürlich nicht zu gebrauchen.
  645. Deshalb habe ich schon wieder gewisse Vorstellungen über einen Nachfolger für CHAOS-
  646. ultd V5.0 , der dann wohl CHAOSultd V6.x heissen wird und dann wieder voll in GEM
  647. eingebunden sein soll.
  648. Eine solche GEM-Einbindung hat allerdings, das muss man ganz klar sehen, auch ettliche
  649. Nachteile, insbesondere was die Anzeigegeschwindigkeit angeht. Auch ein Mischbetrieb Mi-
  650. dRez/LowRez wie in der jetztigen Farbversion wäre nicht mehr möglich; da das Programm
  651. sicher nicht vollständig in LowRez laufen wird wäre auf einem Standart-ST nur noch Mo-
  652. nochrom oder Vier-Farb-Betrieb möglich.
  653. Deshalb wird CHAOSultd V6.x die jetztige Version 5.0 sicher nicht ablösen, sondern neben
  654. deren Farb- und Monochrom-Version als Gem-Version koexistieren.
  655. Ob überhaupt und wenn, wann und wie es CHAOSultd V6.x geben wird ist aber in keiner
  656. Weise vorhersagbar!
  657. Ich werde deshalb auch keinerlei Anfragen nach CHAOSultd V6.x beantworten!
  658.  
  659.  
  660.  
  661. 6    Fehler
  662.  
  663.  
  664.  
  665. "Programme laufen nicht" lautet bekanntlich eine mögliche Formulierung von Murphy's
  666. Gesetz für Programmierer.
  667. Nun am Ende der Programm-Entwicklung hat man es meist geschafft, diesen Satz im kon-
  668. kreten Einzelfall zu widerlegen (oder man hat kein Programm und braucht keine Anleitung
  669. zu schreiben) - jedenfalls mehr oder weniger. So ist es auch hier.
  670. Andererseits gibt es eine weitere, schwächere Folgerung aus Murphy's Gesetz die besagt, dass
  671. jedes nicht-triviale Programm mindestens einen Fehler enthält. Mit an Sicherheit grenzender
  672. Wahrscheinlichkeit trifft dies auch hier zu.
  673. Für CHAOSultd V5.0  ergibt sich aus der langen Liste seiner Vorfahren ein weiteres Risko.
  674. Ich habe das Programm wie beschrieben mehrfach umgeschrieben, und dabei natürlich nicht
  675. jedesmal das ganze Programm neugeschrieben, sondern den vorhandenen Quelltext verwen-
  676. det. Einerseits kann man auf diese Weise natürlich Fehler früherer Versionen eliminieren2,
  677. was (siehe nächsten Abschnitt) durchaus auch passiert. Andererseits kann bei der Anpas-
  678. sung eines vorhanden Quelltextes besonders viel schiefgehen, womit wir bei Murphy's Gesetz
  679. im Original wären: wo viel schiefgehen kann, geht auch viel schief.
  680. Bevor Sie jetzt entsetzt das Programm wegwerfen, sollten Sie sich überlegen, dass Sie das
  681. dann konsequenterweise mit allen anderen Programmen (einschliesslich des Betriebssystems)
  682. auch tun müssten.
  683. Ich habe CHAOSultd V5.0  soweit möglich getestet und es läuft. Das Programm ist soweit
  684. möglich fehlertolerant, sollte also auch bei Fehlbedienung nicht gleich schlappmachen3.
  685. ____________________________________2
  686.     wobei man allerdings mit der zu obigem Gesetz gehörenden Feststellung leben muss, dass das*
  687.  * Entfernen
  688. eines Fehlers mindestens einen neuen Fehler nach sich zieht
  689.    3allerdings ist es bei Parametern von Berechnungsroutinen teilweise möglich ist, unsinnige *
  690.  *Angaben zu
  691.  
  692. machen, die nicht von der Eingaberoutine zurückgewiesen werden, dadurch aber auch nicht sinnvo*
  693.  *ll werden
  694.  
  695.  
  696.  
  697.                                            10
  698.  
  699.  
  700.  
  701.  
  702. 6.1   eliminierte Fehler
  703.  
  704.  
  705. Einige Fehler die sich noch in FRACTAL 4.3 befinden wurden von mir entdeckt und konnten
  706. in CHAOSultd V5.0  beseitigt werden (mit Ausnahme des ersten Fehlers sind sie ziemlich
  707. harmlos):
  708.  
  709.  
  710.    o  verwendet man in der Abbruchbedingung (oder beim Punkte-Setzen) freier Fractale
  711.       die Verknüpfung 'xor', so stürzt FRACTAL 4.3 gnadenlos ab
  712.  
  713.  
  714.    o  die Routine zum Speichern von GEM-Image-Dateien versagte, wenn man Bilder mit
  715.       mehr als 255 gleichen Zeilen speicherte. Bei Fraktalen mit wenig berechneten Zeilen
  716.       kann dies durchaus passieren, allerdings speichert man die gewöhnlich nicht als GEM-
  717.       Image.
  718.  
  719.  
  720.    o  kam es beim Laden von GEM-Image-Dateien zu Tos-Fehlern, so wurde dennoch ein
  721.       Objekt erzeugt.
  722.  
  723.  
  724.    o  liess man sich in der Farb-Version die Fraktal-Parameter anzeigen und rief dann von
  725.       den Parametern aus die Farb-Einstellung auf, so wurde nach Verlassen der Parameter-
  726.       Dialogbox nicht mehr das Bild angezeigt, sondern die Farb-Einstellung, allerdings
  727.       ohne Rasterzeilen-Interupt. Liess man das nächste Bild anzeigen, so war wieder alles
  728.       in Ordnung.
  729.  
  730.  
  731.    o  rief man beim Anzeigen von Bildern bei eingeschalteter Farbanimation die Farb-
  732.       Einstellung auf, so wurde die Animation nicht abgeschaltet. Da andererseits wegen des
  733.       Rasterzeilen-Interupts zweimal pro Bildschirmfrequenz die Farbtabelle gesetzt wird,
  734.       führte dies zu einem etwas lästigen Flackern.
  735.  
  736.  
  737.    o  lädt man einen Film mit relativen Pfadangaben, so wurden Bilder die bereits im
  738.       Speicher stehen nicht erkannt sondern nochmal geladen
  739.  
  740.  
  741.  
  742. 6.2   bekannte Fehler
  743.  
  744.  
  745. CHAOSultd V5.0  enthält gegenwärtig einen bekannten Fehler:4
  746. Berechnet  man  freie  Fractale  und  verwendet  in  der  Abbruchbedingung  die  'xor'-
  747. Verknüpfung (nein, Abstürzen tut CHAOSultd V5.0  nicht mehr dabei), so erhält man
  748. (total) unterschiedliche Ergebnisse, je nachdem ob man mit der schnellen oder der exakten
  749. Berechnung arbeitet.
  750. This is not a feature, this is a bug!
  751. Das Ganze hat vermutlich folgenden Hintergrund: die Routinen zur Berechnung freier Frac-
  752. tale ignorieren Fliesskommafehler jeglicher Art, insbesondere auch Überläufe5.
  753. Verwendet man nun die 'xor'-Verknüpfung, so wird die Berechnung nicht abgebrochen, falls
  754. beide Bedingungen erfüllt sind6, so dass es leicht zu einem Überlauf kommen kann (das kann
  755. ____________________________________4
  756.     der Satz ist natürlich falsch formuliert; korrekt müsste man sagen:
  757.   von den Fehlern die CHAOSultd V5.0  enthält ist gegenwärtig einer bekannt
  758.    5als ich die Routinen geschrieben habe, bin ich davon ausgegangen, dass keine Fliesskommafeh*
  759.  *ler auftreten;
  760.  
  761. eine aufwendige Behandlung der Fliesskommafehler schien also überflüssig und würde nur Zeit *
  762.  *kosten (beim
  763. Entwickeln der Routine wie beim Berechnen der Bilder); sie jetzt einzufügen ist mir im Moment *
  764.  *zu viel
  765. Arbeit
  766.    6wenn man an dieser Stelle über den Sinn der Abbruchbedingung nachdenkt wird einem natürli*
  767.  *ch klar,
  768.  
  769. dass 'xor' hier a priori nicht besonders sinnvoll ist, aber der Vollständigkeit gehört es hal*
  770.  *t auch dazu
  771.  
  772.  
  773.  
  774.                                            11
  775.  
  776.  
  777.  
  778.  
  779. man sich im Debugger auch anschauen). Anscheinend reagieren die beiden verschiedenen
  780. Fliesskomma-Routinen nun bei und nach dem Überlauf anders, so dass sich verschiedene
  781. Resultate ergeben. Dabei ist das Ergebnis der schnellen Berechnungsroutine dasjenige, das
  782. (logischen Überlegungen folgend, d.h. vielleicht) richtiger ist - richtiger insofern, als hier
  783. trotz der Fliesskomma-Überläufe die Punkte als unendlich tief erscheinen.
  784.  
  785.  
  786.  
  787. 6.3   unbekannte Fehler
  788.  
  789.  
  790. gibt es nach obigen allgemeinen Überlegungen sicherlich jede Menge. Ich hoffe, es treten
  791. wenigstens keine schwerwiegenden Fehler mehr auf.
  792. Kommt es bei der Benutzung von CHAOSultd zu irgendwelchen kritischen Situationen so
  793. empfehle ich die Bemerkung in der rechten oberen Bildschirmecke zu beherzigen. Sie wurde
  794. extra zu diesem Zweck dort installiert7.
  795. Sollten Sie einen Fehler finden, so dürfen Sie ihn zunächst einmal behalten.
  796. Sollte der Fehler reproduzierbar sein, so wäre ich darüberhinaus für eine ausführliche Be-
  797. schreibung des Fehlers und seiner Erzeugung dankbar (behalten dürfen Sie ihn natürlich
  798. trotzdem erst mal).
  799.  
  800.  
  801.  
  802. 6.4   Fehler in der Anleitung
  803.  
  804.  
  805. Die Anleitung soll das Programm beschreiben. Tut sie das an irgendeiner Stelle nicht, so
  806. irrt die Anleitung und nicht das Programm8.
  807.  
  808. Für Druk-Feeler in Anleitung gilt die Devise:
  809. This is not a bug, this is a feature.
  810. Druckfehler in der Anleitung dienen der Auflockerung des Textes und sollen insbesondere
  811. denen, die sonst nichts verstehen, Gelegenheit zu Erfolgserlebnissen geben, wenn sie welche
  812. finden.
  813.  
  814.  
  815.  
  816. 7    zu dieser Anleitung
  817.  
  818.  
  819. Real programmers don't read manuals heisst es, und ich mache das häufig genauso.
  820. Dennoch möchte ich an dieser Stelle jedem die Lektüre der Anleitung (auch wenn sie sehr
  821. lang geworden ist) nahelegen. Man sollte sie wenigstens mal überflogen haben, da das Pro-
  822. gramm zwar mehr oder weniger konsequent in GEM eingebunden ist, viele der Möglichkeiten
  823. und Details des Programmes aber nicht sofort ersichtlich sind.
  824. Die Anleitung ist - entsprechend der Modularität des Programmes - in mehrere Abschnitte
  825. aufgeteilt. Im ersten Abschnitt wird lediglich die allgemeine Benutzung des Verwaltungstei-
  826. les, im wesentlichen ohne konkreten Bezug auf irgendwelche Berechnungsroutinen, beschrie-
  827. ben. Die Beschreibung der Berechnungsroutinen für Fraktale, Hüpfer und Feigenbaumdia-
  828. gramme folgt dann in den weiteren Abschnitten.
  829. Bei der Beschreibung von CHAOSultd V5.0 gehe ich im folgenden in etwa in der Reihenfolge
  830. vor, wie man sie auch bei der Benutzung des Programmes gebraucht. Da keine konkreten
  831. Bilderzeugungsroutinen beschrieben werden, sollte man eventuell parallel entsprechende
  832. ____________________________________7
  833.     darüberhinaus soll diese Bemerkung natürlich zur Verbreitung von CHAOSultd beitragen, D. *
  834.  *Adams
  835. zufolge ist sie dazu bestens geeignet
  836.    8an sich wäre es ja umgekehrt auch ganz nett, aber das Risiko ist mir zu gross, die Anleitu*
  837.  *ng anzupassen
  838.  
  839. ist in jedem Fall das kleinere Übel
  840.  
  841.  
  842.  
  843.                                            12
  844.  
  845.  
  846.  
  847.  
  848. Abschnitte der folgenden Teile lesen, wobei die Fractal-Routinen wohl am ausführlichsten
  849. beschrieben sind. Bei den anderen Routinen wird ihre Kenntnis teilweise vorausgesetzt.
  850. Auch ist es natürlich sinnvoll, die diversen Möglichkeiten gleich auszuprobieren; möglicher-
  851. weise wird erst an Hand des Programmes selbst, klar, wie die eine oder andere Bemerkung
  852. in der Anleitung gemeint ist (sorry, aber noch ausführlicher kann ich das Programm wirklich
  853. nicht beschreiben).
  854.  
  855. Wird in der Anleitung auf Menüeinträge oder Texte von Button verwiesen, so sind diese
  856. in Sans Serif gesetzt. Tasten erscheinen in Typewriter. (Leser der ASCII-Version dieser
  857. Anleitung haben davon leider garnichts.)
  858.  
  859. Der letzte Teil dieser Anleitung beschreibt die Schnittstelle für externe Routinen. Da er so-
  860. mit nur für einen kleinen Teil der Anwender von CHAOSultd von Interesse ist (und doch etli-
  861. che Seiten umfasst) ist er in eine eigene Datei ausgelagert. Er erscheint allerdings vollständ*
  862.  *ig
  863. im Inhaltsverzeichnis.
  864.  
  865. Die zugrundeliegenden Algorithmen und die sich daraus ergebenden Formen werden nur
  866. ansatzweise beschrieben. Ich möchte deshalb hier auf die einschlägige Literatur verweisen:
  867. die meisten Anregungen habe ich den Sonderheften Computerkurzweil I-IV der Zeitschrift
  868. Spektrum der Wissenschaft entnommen. Sie sind zwar soweit ich weiss einzeln nicht mehr
  869. erhältlich, dafür gemeinsam in Buchform. Dort finden sich auch weitere Literaturangaben.
  870. In einem Artikel in der ST-Computer (11/91) über Iterierte Funktionensysteme (eine Imple-
  871. mentation für CHAOSultd ist in Arbeit wird aber noch etwas dauern) wird unter anderem
  872. noch auf die folgenden beiden Werke verwiesen:
  873. H.-O. Pleitgen, D. Saupe (Hrsg), The Science of Fractal Images, Springer Verlag 1988
  874. Benoit B. Mandelbrot, Die fractale Geometrie der Natur, Birkhäuser 1987
  875.  
  876.  
  877.  
  878.                                            13
  879.  
  880.  
  881.  
  882.  
  883. Teil I
  884.  
  885.  
  886. CHAOSultd
  887.  
  888.  
  889.  
  890. Das mit Abstand wichtigste an CHAOSultd ist die Bemerkung in der rechten oberen
  891. Bildschirm-Ecke. Man sollte sich beim Umgang mit diesem (und jedem anderen) Programm
  892. stets daran halten.
  893.  
  894.  
  895.  
  896. 1    Verwaltung von Bildern - der Desktop
  897.  
  898.  
  899. Zur Verwaltung von Bildern dient der Desktop von CHAOSultd. Er besteht aus der Infolei-
  900. ste, vier Button zum Scrollen der Objekt-Icon und den Objekt-Icon selber.
  901.  
  902.  
  903.  
  904. 1.1   Objekte
  905.  
  906.  
  907. Mögliche Objekte sind
  908.  
  909.  
  910.    1. Fraktale
  911.  
  912.       Unter Fraktalen verstehe ich alle Bilder, die durch irgendwelche Berechnugsroutinen
  913.       in CHAOSultd erzeugt werden. Insofern ist die Bezeichnung Fraktale natürlich nicht
  914.       ganz richtig, da solche Bilder nicht notwendig fraktal sein müssen9.
  915.  
  916.       Fraktale können drei verschiedene Bildgrössen haben: grosse Bilder haben Bildschirm-
  917.       grösse, mittlere Bilder sind etwa halb so gross (in der Fläche) und kleine Bilder ent-
  918.       sprechen einem Viertel-Bildschirm.
  919.  
  920.  
  921.    2. Bilder
  922.  
  923.       gemeint sind parameterlose Bilder, die entweder geladen oder nach Bildvergleich (siehe
  924.       3.3) erzeugt wurden
  925.  
  926.       Bilder haben stets Bildschirmgrösse
  927.  
  928.       Bilder ohne Parameter sind hauptsächlich der Vollständigkeit halber integriert (etwa
  929.       um sie in Filme als Titel aufnehmen zu können), sie spielen im folgenden kaum eine
  930.       Rolle
  931.  
  932.  
  933.    3. Filme (siehe 4)
  934.  
  935.  
  936.  
  937. 1.2   Objekt-Icon
  938.  
  939.  
  940. Jedes im Speicher vorhandene Objekt wird auf dem Desktop durch ein Icon repräsentiert.
  941. Die verschiedenen Objekte werden durch verschiedene Icon dargestellt, verschiedene Fraktal-
  942. Typen besitzen ebenfalls verschiedene Icon.
  943. Neben dem Objekt-Typ kann man an den Icon noch eine Reihe weiterer Informationen über
  944. die von ihnen repräsentierten Objekte ablesen:
  945. ____________________________________9
  946.     Bisweilen ist in dieser Anleitung auch von Fractalen die Rede, gemeint sind dann speziell B*
  947.  *ilder, die mit
  948. den eingebauten Routinen unter den Menüpunkten Fractal(e), freie Fract. und 3d Fractal(e) erze*
  949.  *ugt wurden.
  950.  
  951.  
  952.  
  953.                                            14
  954.  
  955.  
  956.  
  957.  
  958.    o  noch nicht fertig berechnete Fraktale werden ohne Rahmen dargestellt, fertige Objekte
  959.       mit (Bilder und Filme sind in diesem Sinne immer fertig, auch wenn dies bei Filmen
  960.       nicht unbedingt logisch ist).
  961.  
  962.  
  963.    o  die Bildgrösse von Fraktalen wird durch einen Buchstaben ('K', 'M' und 'G') angezeigt
  964.  
  965.  
  966.    o  gespeicherte Objekte werden mit einem Haken markiert, neue oder geänderte Objekte
  967.       haben keinen Haken
  968.  
  969.  
  970.  
  971. 1.3   Selektieren von Objekten
  972.  
  973.  
  974. Zum  Selektieren  (und  Deselektieren)  von  Objekten  stellt  CHAOSultd  eine  Reihe  von
  975. Möglichkeiten zur Verfügung:
  976.  
  977.  
  978.    o  einfaches Anklicken eines Objektes ändert den Auswahlzustand (nicht selektierte Ob-
  979.       jekte werden selektiert, selektierte deselektiert)
  980.  
  981.  
  982.    o  Doppelklick deselektiert alle Objekte; führt man den Doppelklick auf ein Objekt aus,
  983.       so wird dieses anschliessend selektiert (auf diese Weise kann man also genau ein Objekt
  984.       selektieren)
  985.  
  986.  
  987.    o  um mehrere, aufeinanderfolgende Objekte zu selektieren kann man das erste und das
  988.       letzte Objekt der Folge mit gedrückter SHIFT-Taste anklicken (die Reihenfolge ist
  989.       dabei egal)
  990.  
  991.  
  992.    o  ein SHIFT-Klick auf einen Film führt zum Selektieren des Filmes und aller in ihm
  993.       vorkommenden Bilder
  994.  
  995.  
  996. Neben den Mauskommandos hat man noch eine Reihe von Tastaturkommandos zum Selek-
  997. tieren von Bilder:
  998. Mit den Tasten F1 bis F8 selektiert man eine Zeile (1 bis 8); wählt man dabei eine Zeile,
  999. die kein Objekt enthält, so wird die letzte nichtleerer Zeile eingestellt.
  1000. Mit den Tasten 1 - 9, 0 und ss kann man dann die einzelnen Objekte dieser Zeile ansprechen,
  1001. mit TAB die ganze Zeile; ESC wirkt auf alle Objekte (unabhängig der eingestellten Zeile).
  1002. Die Taste BACKSPACE bezieht sich auf alle geänderten, aber nicht gespeicherten Objekte,
  1003. DEL auf alle fertigen Bilder, ~ auf alle nicht fertigen. Die Tasten . und - beziehen sich auf
  1004. jedes zweite bzw. vierte Objekt10
  1005. Dabei wird das Objekt bzw. die Objekte bei normalem Tastendruck selektiert, mit SHIFT-
  1006. Taste deselektiert, mit CONTROL geändert und mit ALT als einziges Objekt selektiert.
  1007. Die Tastaturbefehle für das Desktop sind auch in einer Dialogbox zusammengefasst, die man
  1008. durch Drücken der HELP-Taste aufrufen kann.
  1009.  
  1010.  
  1011.  
  1012. 1.4   Scrollen
  1013.  
  1014.  
  1015. Werden mehr als 88 Objekte erzeugt, so passen sie nicht mehr auf den Bildschirm. Man
  1016. kann dann mit den Scrollbutton '<', '<<', '>' und '>>' das erste anzuzeigende Objekt
  1017. bestimmen.
  1018. ____________________________________10
  1019.     damit kann man beispielsweise Bildfolgen teilweise berechnen lassen und so schon mal die Wi*
  1020.  *rkung
  1021. beurteilen
  1022.  
  1023.  
  1024.  
  1025.                                            15
  1026.  
  1027.  
  1028.  
  1029.  
  1030. Dabei scrollt '<' und '>' je eine Zeile nach oben bzw. unten, '<<' und '>>' eine Seite; ein
  1031. Doppelklick auf '<' bzw. '<<' oder '>' bzw. '>>' scrollt zur ersten oder letzten Zeile.
  1032. Kann in eine der Richtungen nicht gescrollt werden, so sind die Button inaktiv und werden
  1033. auch so dargestellt.
  1034. Man kann die Icons auch via Tastatur verschieben. Dazu dienen die Tasten Cursor up und
  1035. Cursor down, die ohne Sondertaste um eine Zeile, bei gleichzeitig gedrückter SHIFT-Taste
  1036. um eine Seite verschieben, sowie bei gleichzeitig gedrückter CONTROL-Taste an den Anfang
  1037. bzw. das Ende der Icons.
  1038. Selektierte Objekte bleiben selektiert, auch wenn sie nicht mehr sichtbar sind. Es ist nicht
  1039. möglich einzelne, nicht sichtbare Objekte zu selektieren oder deselektieren.
  1040.  
  1041.  
  1042.  
  1043. 1.5   Infoleiste
  1044.  
  1045.  
  1046. In der Infoleiste werden einige mehr oder weniger interessante globale Informationen ange-
  1047. zeigt:
  1048.  
  1049.  
  1050.    o  die Anzahl der Objekte im Speicher
  1051.  
  1052.  
  1053.    o  ihre Gesamt-Länge in Byte
  1054.  
  1055.  
  1056.    o  die Anzahl der selektierten Objekte
  1057.  
  1058.  
  1059.    o  der freie Speicher in Byte und in Prozent des Gesamt-Speichers
  1060.  
  1061.  
  1062.    o  die Nummer des ersten angezeigten Objektes
  1063.  
  1064.  
  1065.  
  1066. 1.6   Speicher-Info
  1067.  
  1068.  
  1069. Klickt man die Infoleiste an, so erscheint eine Dialogbox mit Detailinformationen zur
  1070. Speicherbelegung.
  1071. In der ersten Zeile wird der Gesammtspeicher (für Objekte und Bilder) angezeigt.
  1072. Es folgen Informationen über den belegten Speicher: zunächst dessen Grösse in Byte und
  1073. Prozent, sodann die Verteilung auf Objekt-Daten, Fraktal-Parameter, zusätzliche Fraktal-
  1074. Parameter11 und Bilddaten. Angegeben werden zu jedem dieser Bereiche vier Werte (alle in
  1075. Byte). Der erste Wert bezieht sich auf alle Objekte, der zweite auf die selektierten Objekte.
  1076. Die beiden Werte in Klammern geben zusätzlich den durchschnittlichen Speicher pro Objekt
  1077. (bzw. pro selektiertem Objekt) an.
  1078. Unter diesen vier Bereichen wird die Summe des belegten Speichers angegeben. Sollte die
  1079. Summe für alle Objekte jemals von dem (oben angegebenen) Wert des belegten Speichers
  1080. abweichen, so ist irgendwas in der Speicherverwaltung schief gegangen. Ich kann nur hoffen,
  1081. dass das nie passiert. Sollte es doch vorkommen, so empfielt es sich, alle Bilder zu speichern
  1082. und das Programm neu zu starten.12
  1083. Als nächstes wird in der Dialogbox der freie Speicher angezeigt, wie der belegte Speicher in
  1084. Byte und Prozent.
  1085. ____________________________________11
  1086.     CHAOSultd verwaltet für jedes Objekt zunächst mal Parameter, deren Länge nur vom Objekt-*
  1087.  *Typ
  1088. abhängt; dies sind bei Fraktalen die Fraktal-Parameter. Sollen zusätzlich irgendwelche Inform*
  1089.  *ationen zu
  1090. einem Objekt gespeichert werden, die variable Länge besitzen, so können diese als zusätzlich*
  1091.  *e Parameter
  1092. verwaltet werden
  1093.   12es kann auch sein, dass eine externe Routine dauerhaft Speicher belegt hat, das geht zwar, *
  1094.  *sollten externe
  1095.  
  1096. Routinen aber nicht machen; in diesem Fall ist natürlich unter Umständen noch alles in Ordnung
  1097.  
  1098.  
  1099.  
  1100.                                            16
  1101.  
  1102.  
  1103.  
  1104.  
  1105. Unter dieser Angabe findet sich noch eine Abschätzung, für wieviele Bilder dieser Speicher
  1106. reicht. Diese hängt natürlich davon ab, wieviel Speicher ein Bild benötigt, und dies hängt
  1107. wieder von der Parameterlänge, der Bildgrösse und - falls die Bilder gepackt werden - dem
  1108. Packverhältnis ab.
  1109. CHAOSultd gibt deshalb eine Reihe verschiedener Werte an. Bei durchschnittliche Bilder wird
  1110. der durchschnittliche Wert der bisher geladenen Objekte (alle/selektierte Objekte) verwen-
  1111. det. Bei grosse, mittlere und kleine Bilder verwendet CHAOSultd den Durchschnittswert der
  1112. Summe aus Objekt-, Parameter- und ext. Parameter-Länge plus die Länge der ungepackten
  1113. Bilddaten.
  1114. Ok verlässt die Box ganz normal, mit dem Button GarbColl kann man eine Garbage-Collection
  1115. erzwingen, also ein Sammeln unbelegter Speicherblöcke. CHAOSultd führt ein Garbage-
  1116. Collection ansonsten immer dann durch, wenn es nötig ist, so dass diese Option an sich eher
  1117.  
  1118. überflüssig ist13. Die Durchführung einer Garbage-Collection dauert, je nach Speichergrösse
  1119. und Anzahl der Objekte ein paar Sekunden, sie wird nicht (wie etwa in Tempus) durch
  1120. einen Dialog angezeigt; ist der Gong eingeschaltet (und der Lautstärkeregler des Monitors
  1121. nicht auf Null) so werden vor der Garbage-Collection drei Gongs ausgegeben.
  1122.  
  1123.  
  1124.  
  1125. 1.7   Bilder Packen
  1126.  
  1127.  
  1128. CHAOSultd ist beim Verwalten der Bilddaten recht sparsam: wurde ein Bild noch über-
  1129. haupt nicht berechnet, so werden auch keine Bilddaten verwaltet; bei teilweise berechneten
  1130. Bildern, bei denen dies möglich ist, wird nur für den berechneten Bildteil Speicher belegt
  1131. (Vorraussetzung ist, dass die Bilder wie normale Fractale rasterartig von oben nach un-
  1132. ten berechnet werden). Darüberhinaus kann CHAOSultd die Bilddaten packen (nach dem
  1133. gleichen Algorithmus, der auch beim Speichern verwendet wird, vgl. V.1). Die Speicherplat-
  1134. zersparnis hängt natürlich vom Bildinhalt ab, kann aber leicht 2/3 und mehr erreichen. Das
  1135. Packen von Bildern führt allerdings auch dazu, dass die Bilder nicht mehr mit der gleichen
  1136. Geschwindigkeit angezeigt werden können wie nicht gepackte Bilder.
  1137. Ein- und ausschalten kann man dieses Packen durch den Menüpunkt Bilder packen im Datei-
  1138. Menü.
  1139. Klickt man ihn mit gedrückter SHIFT-Taste an, so wird zwischen Packen und Nicht-packen
  1140. der neu anzulegenden Bilder (bestehende werden nicht verändert) gewechselt. Sollen die
  1141. neuen Bilder gepackt werden, so wird dies durch einen Haken im Menüpunkt angezeigt.
  1142. Klickt man den Menüpunkt normal (also ohne SHIFT-Taste) an, so wird eine Dialogbox
  1143. aufgerufen, in der erstens angezeigt wird, wieviele Bilder gepackt oder nicht gepackt sind,
  1144. wie lang deren Bilddaten sind und wie lang die gepackten Bilder entpackt wären. Angegeben
  1145. werden nur die Bilddaten, diese sind kürzer als die Gesamtdaten des Objektes, da für
  1146. das Objekt ja auch noch Parameter verwaltet werden14. Ausserdem wird die sich daraus
  1147. ergebende Packrate (die Länge der gepackten Bilder bezogen auf die Länge der ungepackten
  1148. Daten in Prozent) sowie der freie Speicher angezeigt.
  1149. Zweitens kann man in dieser Dialogbox zwischen packen und nicht-packen der neuen Bilder
  1150. (wie mit SHIFT-Klick auf den Menüpunkt) wechseln.
  1151. ____________________________________13
  1152.     ich brauche sie aber zum Testen ob die Speicherverwaltung nach einer Garbage-Collection kol*
  1153.  *labiert
  1154. oder nicht
  1155.   14dass sie auch kürzer sind als bei Speicher-Info angegeben liegt daran, dass Speicher-Info *
  1156.  *die 8 Byte die für
  1157.  
  1158. die Speicherverwaltung gebraucht werden mitzählt, Packen nicht
  1159.  
  1160.  
  1161.  
  1162.                                            17
  1163.  
  1164.  
  1165.  
  1166.  
  1167. Drittens ermöglicht diese Dialogbox das Packen oder Entpacken bereits bestehender Bilder.
  1168. Dazu stellt man mit den Button in den beiden mit ändern bezeichneten Zeilen ein, ob die
  1169. Bilder ge- oder entpackt werden sollen, sowie ob sich die Operation auf alle oder nur auf die
  1170. selektierten Bilder beziehen soll, und verlässt dann die Dialogbox mit dem Button ändern
  1171. (dabei wird gleichzeitig die Einstellung für neue Bilder übernommen).
  1172.  
  1173.  
  1174.  
  1175. 1.8   Objekte löschen
  1176.  
  1177.  
  1178. Möchte  man  Objekte  löschen,  so  selektiert  man  diese  und  klickt  anschliessend  den
  1179. Menüpunkt Objekte löschen im Datei-Menü an.
  1180. Nach einer eventuellen Warnung (vgl. Einstellungen, 6.1) werden die Objekte gelöscht.
  1181. Es ist nicht möglich, ein Bild, das in einem Film vorkommt zu löschen, ohne auch den
  1182. Film zu löschen. Sollte man dies versuchen, so weist eine Dialogbox, in der der Name
  1183. des betroffenen Filmes angezeigt wird, darauf hin, und man kann wählen, ob man das
  1184. Löschen ganz abbrechen will, ob der Film mitgelöscht werden soll, oder ob man den Film
  1185. erhalten will, im letzten Fall werden alle Bilder, die in dem Film vorkommen vom Löschen
  1186. ausgenommen.
  1187.  
  1188.  
  1189.  
  1190. 2    Bilder erzeugen
  1191.  
  1192.  
  1193. 2.1   neue Bilder
  1194.  
  1195.  
  1196. Zur Erzeugung neuer Bildern dienen die Menüpunkte des Menüs Neu. Dieses Menü ist
  1197. variabel, seine Einträge und deren Zahl hängen von den zur Verfügung stehenden internen
  1198. (zur Zeit vier) und externen Berechnungsroutinen ab.
  1199. Klickt man einen Menüpunkt (ohne gleichzeitig gedrückte SHIFT- oder CONTROL-Taste, vgl.
  1200. 6.3) an, so kann man in einer Dialogbox die Parameter für den gewählten Bildtyp eingeben.
  1201. Anschliessend wird das oder die Bilder erzeugt.
  1202. Erzeugt man Bildfolgen, so werden die Bild-Namen durch Anhängen einer Nummer (mit der
  1203. nötigen Anzahl von Stellen) erzeugt. Dabei kann der in den Paramtern angegebene Name
  1204. unter Umständen gekürzt werden.
  1205. Die Erzeugung von Bildern lässt sich durch Drücken der ESC-Taste unterbrechen15. Werden
  1206. mehrere Bilder (Bildfolgen) berechnet, so beendet ESC nur die gerade aktulle Berechnung.
  1207. Drückt man zusätzlich SHIFT, so wird die Berechnung auch für alle folgenden Bilder ab-
  1208. gebrochen, für diese Bilder wird aber noch ein Bildobjekt erzeugt, so dass die Berechnung
  1209. später erfolgen kann. Drückt man zusätzlich zu ESC die ALTERNATE-Taste, so wird die Be-
  1210. rechnung ganz abgebrochen und keine Bildobjekte mehr erzeugt.
  1211.  
  1212.  
  1213.  
  1214. 2.2   Weiterberechnen von Bildern
  1215.  
  1216.  
  1217. Bilder, die noch nicht fertig berechnet wurden, können durch Anklicken von Weiter bzw.
  1218. Alles Weiter im Menü Weiter weiterberechnet werden. Bei Weiter werden nur selektierte
  1219. Bilder erfasst, bei Alles Weiter alle Bilder.
  1220. Die Berechnung kann wie bei Neu abgebrochen werden.
  1221. ____________________________________15
  1222.     an dieser und vielen anderen Stellen wird immer vorrausgesetzt, dass sich der Programmierer*
  1223.  * der Be-
  1224. rechnungsroutinen an die vorgesehenen Programmier-Richtlinien gehalten hat
  1225.  
  1226.  
  1227.  
  1228.                                            18
  1229.  
  1230.  
  1231.  
  1232.  
  1233. Ist ein Algorithmus nicht in der Lage ein Bild nach Berechnungsabbruch weiterzuberechnen,
  1234. so kann er bei Berechnungsabbruch das Bild für fertig erklären; Weiter lässt sich in diesem
  1235. Fall natürlich nicht mehr verwenden.
  1236.  
  1237.  
  1238.  
  1239. 2.3   Vier Bilder
  1240.  
  1241.  
  1242. Zu jedem selektierten Bild werden vier Bilder erzeugt, die aneinandergesetzt dem ursprüng-
  1243. lichen Bild mit doppelter Auflösung entsprechen16. Die Bilder können dann mit der Hard-
  1244. copyroutine (in der sw-Version) aneinander-gedruckt werden (vgl. 5.3).
  1245.  
  1246.  
  1247.  
  1248. 2.4   Neu berechnen
  1249.  
  1250.  
  1251. Dieser Menüpunkt dient dazu, Bilder mit teilweise geänderten Parametern neu zu berech-
  1252. nen. Beispielsweise wenn man eine Serie von Apfelmännchen mit Graustufen berechnet hat,
  1253. und sie jetzt Schwarz-Weiss haben möchte.
  1254. Nach Aufruf der Funktion muss man zunächst angeben, ob die Bilder überschrieben werden
  1255. oder ob neue Bilder angelegt werden sollen. Dann wird für alle Bildtypen der selektierten
  1256. Bilder, die die Funktion unterstützen17, eine Dialogbox angezeigt, in der die zu ändernden
  1257. Parameter und ihre neuen Werte eingeben werden können. Verlässt man eine solche Dialog-
  1258. box mit Abbruch, so werden die Bilder dieses Types nicht neu berechnet, die Funktion wird
  1259. aber nicht insgesamt abgebrochen.
  1260. Nach Eingabe der zu ändernden Parameter werden die Bilder mit den geänderten Parame-
  1261. tern (soweit nötig) neu berechnet.
  1262. Werden die Bilder neu erzeugt und nicht überschrieben, so wird der neue Name aus dem
  1263. Alten durch Anhängen von __N (unter Verlängerung des Namens auf 8 Zeichen) gebildet, falls
  1264. der alte Name kürzer als 8 Zeichen ist. Ansonsten wird der letzte Buchstabe hochgezählt
  1265. (also aus A wird B, aus B C usw.; Z wird zu 0 und 9 zu A). Damit sollte der Fall, dass sich
  1266. der neue Name nicht vom Alten unterscheidet nicht mehr auftreten (bei Bildfolgen kann
  1267. er natürlich mit dem Namen des nächsten Bildes in der Folge übereinstimmen). Auch dass
  1268. der neue Name unter anderen geladenen Objekten oder auf Diskette schon existiert, kann
  1269. natürlich nicht ausgeschlossen werden.
  1270.  
  1271.  
  1272.  
  1273. 3    Anzeigen
  1274.  
  1275.  
  1276. 3.1   Bilder anzeigen
  1277.  
  1278.  
  1279. Mit den Menüpunkten Bilder anzeigen und alle Bilder im Menü Zeigen kann man
  1280. sich die selektierten bzw. alle vorhandenen Bilder anzeigen lassen.
  1281.  
  1282.  
  1283.  
  1284. Anzeige-Modi und Optionen
  1285.  
  1286.  
  1287. CHAOSultd besitzt im grossen und ganzen zwei Anzeigemodi: im einen wird nach jedem
  1288. Bild auf einen Tastendruck gewartet, bevor das nächste Bild angezeigt wird, im anderen
  1289. wartet CHAOSultd eine bestimmte (natürlich einstellbare) Zeitspanne, und stellt dann das
  1290. nächste Bild dar.
  1291. ____________________________________16
  1292.     diese Routine ist wie viele andere, bei denen ich dies nicht mehr unbedingt angeben werde, *
  1293.  *optional,
  1294. d.h. eine Berechnungsroutine muss diese Möglichkeit nicht zur Verfügung stellen
  1295.   17möglicherweise auch - wie bei Fractalen, s.u. - für mehrere Bildtypen gemeinsam
  1296.  
  1297.  
  1298.  
  1299.                                            19
  1300.  
  1301.  
  1302.  
  1303.  
  1304. Einstellen lassen sich diese Anzeigemodi zusammen mit weiteren Parametern unter dem
  1305. Menüpunkt Optionen.
  1306. Dort kann man zunächst den Anzeigemodus mit Warten auf Taste und Kontinuierlich ein-
  1307. stellen.
  1308. Darunter kann man die Wartezeiten für ein Bild und am Ende der angezeigten Bilder
  1309. einstellen, wobei man die Zeiten sowohl numerisch (in ms)18 wie auch mit Hilfe eines Sliders
  1310. wählen kann (dabei dient das Anklicken des grauen Balkens nicht zum Verschieben des
  1311. Sliders, sondern der Slider wird entsprechend des als Text angezeigten Wertes gesetzt).
  1312. Anmerkung: zusätzlich zu dieser Wartezeit kommt noch die Zeit die benötigt wird, um das
  1313. nächste Bild darzustellen. Bei ungepackten Bilder spielt sie kaum eine Rolle, bei gepackten
  1314. schon, da das Entpacken eben länger dauert. Die Wartezeit selber kann aus technischen
  1315. Gründen leider nicht zum Entpacken genutzt werden.
  1316. Die Wartezeit muss mindestens auf 20 ms gesetzt werden, da es sonst zu Bildschirmflackern
  1317. kommt, gibt man kleinere Zeiten an, so wird die Wartezeit automatisch auf diesen Wert
  1318. gesetzt.
  1319. Desweiteren kann man noch einstellen, ob die Bilder nur einmal oder wiederholt angezeigt
  1320. werden sollen (nur dann findet die Wartezeit am Anzeigeende Verwendung), und ob im
  1321. zweiten Fall dann wieder mit dem ersten Bild angefangen werden soll ('- > - >') oder ob
  1322. die Bilder abwechselnd vor- und rückwärts durchgegangen werden sollen ('- > < -').
  1323.  
  1324.  
  1325.  
  1326. Bilder anzeigen
  1327.  
  1328.  
  1329. Auch wärend des Anzeigens von Bildern gibt es eine Reihe von Möglichkeiten; diese werden
  1330. alle über die Tastatur aufgerufen. Allerdings arbeiten diese Tastaturkommandos mit zwei
  1331. Ausnahmen nur im 'warte'-Modus. Deshalb (und das ist die erste Ausnahme) kann aus dem
  1332. kontinuierlichem Anzeigen mit der SPACE-Taste in den 'warte'-Modus umgeschaltet werden.
  1333. Ebenfalls mit der SPACE-Taste kommt man auch wieder zurück zum kontinuierlichem An-
  1334. zeigen. Die zweite Ausnahme ist die ESC-Taste, mit ihr wird das Anzeigen beendet.
  1335. Ansonsten stehen die folgenden Tastaturkommandos zur Verfügung:
  1336. Mit der SPACE-Taste (im 'warte'-Modus) wird das nächste Bild angezeigt (oder vgl. oben in
  1337. den kontinuierlichen Modus zurückgeschaltet), die gleiche Wirkung haben die Tasten RETURN
  1338. und ENTER - allerdings ohne dass hier zurückgeschaltet wird wenn man den kontinuierlichen
  1339. Modus via SPACE unterbrochen hat. Mit der BACKSPACE-Taste kann man das vorige Bild
  1340. anzeigen lassen.
  1341. Die Taste O (es ist jeweils auch der entsprechende Kleinbuchstabe möglich) ruft die Anzeige-
  1342. Optionen auf, so dass man die Anzeigeparameter verändern kann.
  1343. Anmerkung: befindet man sich eigentlich im kontinuierlichem Modus, der dann auch in der
  1344. Optionsbox eingestellt ist, oder stellt man diesen ein, so wird er nach dem Verlassen der
  1345. Box sofort, und nicht erst nach Drücken der SPACE-Taste aktiviert.
  1346. Mit der Taste F kann man die Farben des Bildes einstellen:
  1347.  
  1348.  
  1349.    o  in der sw-Version wird einfach zwischen normal und invers gewechselt. Die Einstellung
  1350.       wird nicht in die Bildparameter übernommen, d.h. wenn man ein Bild weiterschaltet
  1351.       und dann zurück wird wieder die ursprüngliche Farbeinstellung gesetzt. Um die Farbe
  1352.       auch in den Parametern umzuschalten kann man mit P die Bildparameter aufrufen
  1353.       und die Farbe dort ändern (sofern die Berechnungsroutinen dies unterstüzten).
  1354. ____________________________________18
  1355.     aus technischen Gründen nur in 5 ms Schritten, ist der Wert nicht durch 5 teilbar wird er *
  1356.  *abgerundet
  1357.  
  1358.  
  1359.  
  1360.                                            20
  1361.  
  1362.  
  1363.  
  1364.  
  1365.    o  in der Farb-Version wird die Einstellung der Farben aufgefrufen; hier werden die Far-
  1366.       ben in die Bildparameter übernommen (Eigentlich nicht ganz konsistent, Farb- und
  1367.       sw-Version sollten sich natürlich soweit möglich gleich verhalten, aber was solls).
  1368.  
  1369.  
  1370.    o  In der Farb-Version hat man zusätzlich die Möglichkeit mit den Tasten 1 - 0, ss
  1371.       und ' die zwölf voreinstellbaren Farbtabellen aufzurufen. Diese werden nicht in die
  1372.       Parameter übernommen.
  1373.  
  1374.  
  1375. Ebenfalls nur in der Farb-Version verfügbar ist die Farbanimation, die mit der Taste A
  1376. aufgerufen wird.
  1377. Dabei kann man die Richtung, die betroffenen Farben (kleinste und grösste Farbnummer)
  1378. sowie die Geschwindigkeit angeben. Letztere wird durch die Anzahl der VBLs (50 oder 60
  1379. pro Sekunde) festgelegt, die zwischen zwei Animationsschritten gewartet werden soll.
  1380. CHAOSultd wechselt dann zyklisch die Farben, bis die Animation beendet wird (durch er-
  1381. neuten Aufruf und Verlassen der Dialogbox mit Ende oder Beenden des Bilder anzeigen).
  1382. Die Animation wird unterbrochen, wenn eine Dialogbox oder eine Koordinatenanzeige auf-
  1383. gerufen wird, sie wird anschliessend fortgesetzt.
  1384. Mit der UNDO-Taste kann man veränderte, nicht in die Parameter übernommene Farbtabellen
  1385. zurücksetzen.
  1386. Die Verfügbarkeit der folgenden Optionen ist - wie ja fast alles in CHAOSultd - immer von
  1387. den Berechnungsroutinen abhängig; das gleiche gilt, falls es sie gibt, für die Details ihrer
  1388. Realisierung.
  1389. Mit der Taste P kann man sich die Bildparameter (vgl. 3.4) und mit I das Bildinfo (vgl.
  1390. 3.5) anzeigen lassen.
  1391. Mit der Taste S kann man sich eine Information über einen bestimmten Punkt anzeigen
  1392. lassen. Dazu klickt man mit der Maus den gewünschten Punkt an und es erscheint dann
  1393. eine Dialogbox, in der Informationen zu diesem Punkt angezeigt werden.
  1394. Mit der Taste C kann man sich die Koordinaten einer Konstanten der Bildparameter durch
  1395. ein Fadenkreuz anzeigen lassen, natürlich nur wenn die Konstante im Bildausschnitt liegt.
  1396. Was das für eine Konstante ist hängt natürlich vom Bildtyp und den Berechnungsroutinen
  1397. ab.
  1398. Die Taste K schaltet eine Anzeige der Bildschirm- und Bildkoordinaten der aktuellen Maus-
  1399. position links oben im Bild ein.
  1400. Als weitere Tastaturfunktion kann man sich mit der Taste D oder H (D wie Drucker oder H
  1401. wie Hardcopy) eine Hardcopy des angezeigten Bildes ausdrucken lassen. Einzelheiten siehe
  1402. 5.3.
  1403. Zu guter Letzt kann man sich mit der Taste HELP eine Kurzübersicht der Tastaturbefehle
  1404. anzeigen lassen, damit man sich nicht alle Befehle merken muss. Dabei werden für das
  1405. momentan angezeigte Bild nicht unterstützte Möglichkeiten grau dargestellt.
  1406.  
  1407.  
  1408.  
  1409. 3.2   Block zeigen
  1410.  
  1411.  
  1412. Mit der Funktion Block zeigen kann man sich anzeigen lassen, welchen Ausschnitt eines
  1413. Bildes ein anderes darstellt.
  1414. Dabei gibt es allerdings einige Einschränkungen zu beachten: Block zeigen bezieht sich
  1415. immer auf zwei Bilder. Dabei muss das eine Bild vollständig im anderen enthalten sein,
  1416. teilweise Überlappung wird nicht angezeigt. Ausserdem können nicht bei allen Bildtypen
  1417. Blöcke angezeigt werden, wie etwa bei 3d Fraktalen.
  1418.  
  1419.  
  1420.  
  1421.                                            21
  1422.  
  1423.  
  1424.  
  1425.  
  1426. Stellt CHAOSultd nach Anklicken von Block zeigen fest, dass ein Bild im anderen enthalten
  1427. ist, so zeigt es das 'Mutter'-Bild an und markiert den Ausschnitt, den das andere Bild dar-
  1428. stellt, durch einen Rahmen. Andernfalls erscheint eine Dialogbox, die auf die Unmöglichkeit
  1429. einen Block anzuzeigen hinweist.
  1430. Anmerkung: Auch wenn ein Bild als Ausschnitt eines anderen angezeigt wird, muss es sich
  1431. dabei nicht um eine Vergrösserung des angezeigten Ausschnittes handlen, bei den beiden
  1432. Bildern können ja andere Parameter unterschiedlich eingestellt sein, es können auch um
  1433. ganz verschiedene Bildtypen sein.
  1434.  
  1435.  
  1436.  
  1437. 3.3   Bildvergleich
  1438.  
  1439.  
  1440. Die Funktion Bildvergleich dient vor allem dem exakten Test zweier (oder mehrerer Bilder)
  1441. auf Gleichheit, ist jedoch allgemeiner gehalten. Mit dieser Funktion lassen sich mehrere
  1442. Bilder logisch miteinander Verknüpfen. Dabei hat man die Wahl zwischen or, and und xor
  1443. (eXclusive OR). Die gewünschte Verknüpfung kann in einer Dialogbox ausgewählt werden,
  1444. die nach Anklicken von Bildvergleich zunächst erscheint. Anschliessend wird das Resultat
  1445. der entsprechenden Verknüpfung aller selektierten Bilder angezeigt. Diese Anzeige kann
  1446. man wie üblich mit ESC verlassen, oder aber mit M, wobei dann das angezeigte Bild in ein
  1447. Bildobjekt, also ohne Parameterdaten, übernommen wird.
  1448. Wie kann man nun mit dieser Funktion zwei Bilder vergleichen? Ganz einfach: man wählt
  1449. als Verknüpfung xor, dann werden nur die Punkte gesetzt, in denen sich Bild 1 von Bild
  1450. 2 unterscheidet. Dadurch kann man alle Unterschiede zwischen den Bildern sehr schnell
  1451. erkennen, etwa um zu Überprüfen, wieweit die schnelle von der genauen Berechnungsrou-
  1452. tine abweicht oder welchen Einfluss eine geringfügige Änderung eines Parameters auf das
  1453. Gesammtbild hat.
  1454. Anmerkung: In Farbe werden weiterhin die Bits des Bildschirmspeichers miteinander ver-
  1455. knüpft. Da hier die Farbe eines Punktes aber nicht von einem einzelnen Bit sondern von
  1456. vieren bestimmt wird, ist das Ergebnis unter Umständen etwas verwirrend; es gilt aber
  1457. immer noch: bei Verknüpfung mit xor sind nur solche Punkte gesetzt, die sich in beiden
  1458. Bildern unterscheiden (wobei die Farbtabelle aber keine Rolle spielt, als Farbtabelle wird
  1459. die des ersten Bildes verwendet).
  1460.  
  1461.  
  1462.  
  1463. 3.4   Parameter anzeigen
  1464.  
  1465.  
  1466. Mit der Funktion Parameter anzeigen lassen sich die Parameter eines Fraktals, eines Bildes
  1467. oder eines Filmes anzeigen. Diese Funktion lässt sich nur aufrufen wenn genau ein Object
  1468. selektiert ist.
  1469. Welche Parameter bei Fraktalen angezeigt werden ist Sache der Berechnungsroutinen.
  1470. Bei Bildern werden nur Bildname und Pfad sowie in der sw-Version die Darstellungsweise
  1471. (normal oder invers), bei Filmen zusätzlich zu Pfad und Namen die Anzahl der Bilder
  1472. angezeigt. Nähere Erläuterungen zu den Datei- und Pfadnamen siehe bei den IO Funktionen
  1473. (vgl. 5).
  1474.  
  1475.  
  1476.  
  1477. 3.5   Bildinfo
  1478.  
  1479.  
  1480. Um sich über Berechnungszeiten, Berechnungsaufwand und Bildgrössen zu informieren ist
  1481. die Funktion Bildinfo anzeigen gedacht (allerdings erst nach der Berechnung, vorher ist das
  1482. im allgemeinen nicht möglich).
  1483.  
  1484.  
  1485.  
  1486.                                            22
  1487.  
  1488.  
  1489.  
  1490.  
  1491. Die Funktion bezieht sich prinzipiell nur auf Fraktale und nur auf selektierte Bilder.
  1492. Ist genau ein Fraktal selektiert, so kann die Berechnungsroutine für das Bild eine detaillierte
  1493. Info-Box ausgeben, die dann natürlich von der Berechnugsroutine abhängt.
  1494. Stellt die Berechnungsroutine eine solche Funktion nicht zur Verfügung unterstützt aber die
  1495. Ausgabe von Bildinfos19 oder sind mehrere Bilder selektiert, so wird eine Info-Box angezeigt,
  1496. in der die Anzahl der Bildpunkte, die Zahl der berechneten Iterationen20 sowie die benötigte
  1497. Rechenzeit - insgesamt und pro Punkt bzw. Iteration - ausgegeben wird.
  1498.  
  1499.  
  1500.  
  1501. 4    Filme
  1502.  
  1503.  
  1504. Filme in CHAOSultd sind einfach eine Liste von Bildern. Sie können zum Beispiel zur
  1505. Verknüpfung mehrerer Bilderfolgen oder zum Festlegen der Reihenfolge, in der diverse Bilder
  1506. angezeigt werden sollen, dienen.
  1507. Filme können maximal 9999 Bilder enthalten, im Allgemeinen sollte das reichen.
  1508.  
  1509.  
  1510.  
  1511. 4.1   Filme erzeugen
  1512.  
  1513.  
  1514. Mit dem Menüpunkt Film erzeugen im Menü Weiter21 kann man neue Filme erzeugen, was
  1515. allerdings nur möglich ist, wenn wenigstens ein Bild vorhanden ist. Es erscheint zunächst
  1516. eine Dialogbox, in der der (nichtleere) Name des Films eingegeben werden muss.
  1517. Anschliessend landet man im Filmeditor. Im oberen Teil des Bildschirms wird das aktuelle
  1518. Bild angezeigt, unten befinden sich eine Infozeile und zwei Zeilen mit Kommandobutton,
  1519. die man mit der Maus anklicken kann.
  1520. In der Infozeile stehen (von links nach rechts) der Filmname, die Anzahl der Bilder im Film,
  1521. die Nummer und der Name des Bildes, das gerade angezeigt wird (gemeint ist die Nummer
  1522. im Film, nicht die auf dem Desktop) sowie der restliche freie Speicher.
  1523. In der oberen Kommandozeile gibt es die folgenden Kommandos: Zeigen enspricht der Funk-
  1524. tion Film zeigen im Pulldownmenü, der Film wird angezeigt (vgl. 4.3).
  1525. Die Button < - und - > dienen zum Blättern im Film. Ein Einfachklick schaltet ein Bild
  1526. weiter (- >) oder zurück (< -), Doppelklick schaltet an den Filmanfang oder an das Ende.
  1527. Gewissermassen vor dem Filmanfang mit Bild 1 wird noch ein (stets leeres) Bild Null ver-
  1528. waltet, beim Einfügen von Bildern werden diese nämlich nach dem aktuellen Bild eingefügt,
  1529. um also ein neues Bild 1 einzufügen muss man auf Bild Null schalten.
  1530. Womit wir beim nächsten Punkt wären, dem Einfügen von Bildern. Dazu dient der But-
  1531. ton Einfügen. Klickt man ihn an, so wird der Desktop angezeigt, und man kann das oder
  1532. die Bilder angeben, die eingefügt werden sollen. Einzelne Bilder klickt man einfach an,
  1533. darüberhinaus kann man aber auch durch shift-Klick (wie beim Selektieren mehrerer Bil-
  1534. der) mehrere aufeinanderfolgende Bilder in den Film übernehmen, wobei die Reihenfolge
  1535. der beiden Mausklicks berücksichtigt wird. Doppelklick neben ein Bild bricht die Funktion
  1536. ab, ohne ein Bild in den Film aufzunehmen.
  1537. ____________________________________19
  1538.     indem sie dem Verwaltungsteil Informationen über Berechnungszeit sowie Iterations- und Pun*
  1539.  *ktanzahl
  1540. zur Verfügung stellt
  1541.   20was im einzelnen unter einer Iteration zu verstehen ist liegt bei der Berechnungsroutine; k*
  1542.  *orrekter wäre
  1543.  
  1544. vieleicht auch die Bezeichnung Berechnungsschritte - nicht alle Routinen sind iterativ
  1545.   21das Weiter-Menü war mal Bestandteil des Neu-Menüs, was aber wegen der variablen Anzahl de*
  1546.  *r Einträge
  1547.  
  1548. im Neu-Menü nicht mehr möglich ist, der Name Weiter für diese Menü ist nicht sonderlich pas*
  1549.  *send, mir fiel
  1550. aber kein besserer ein
  1551.  
  1552.  
  1553.  
  1554.                                            23
  1555.  
  1556.  
  1557.  
  1558.  
  1559. Achtung! Zum Scrollen auf dem Desktop stehen an dieser Stelle nur die Button, nicht aber
  1560. die Tastatur-Kommandos zur Verfügung.
  1561. Die gegenteilige Wirkung, nämlich das Löschen von Bildern übernimmt der Button Löschen.
  1562. Mit ihm wird das aktuelle Bild aus dem Film gelöscht.
  1563. Mit dem nächsten Button Optionen kann man die Anzeigeoptionen des Films einstellen. Sie
  1564. entsprechen den Optionen beim Anzeigen von Bildern, jeder Film verwaltet allerdings eigene
  1565. Optionen (die beim Erzeugen des Filmes mit den gerade eingestellten Anzeigeoptionen für
  1566. Bilder vorbelegt werden).
  1567. Der letzte Button in der oberen Zeile, Beenden dient (na was wohl) zum Verlassen des
  1568. Filmeditors.
  1569. In der unteren Kommandozeile befinden sich die Button für die Blockfunktionen. Mit
  1570. Einfachklick auf Start und Ende kann man Blockanfang und -ende festlegen, wobei Start
  1571. natürlich vor Ende liegen muss. Sind die Blockmarken gesetzt und die jeweiligen Bilder als
  1572. aktuelles Bild eingestellt, so erscheinen diese Button invers; mit Doppelklick auf Start oder
  1573. Ende kann man zu der entsprechenden Marke springen.
  1574. Es folgen die Blockkommandos Copy, Move und Delete, die sich wohl selbst erklären. Das
  1575. Kommando Reverse dreht die Reihenfolge der Bilder eines Blockes um.
  1576.  
  1577.  
  1578.  
  1579. 4.2   Filme ändern
  1580.  
  1581.  
  1582. Selbstverständlich lässt sich ein einmal erzeugter Film jederzeit ändern. Dazu selektiert man
  1583. den Film und wählt Film ändern. Es wird der Filmeditor aufgerufen und es weiter wie beim
  1584. Erstellen eines Filmes.
  1585.  
  1586.  
  1587.  
  1588. 4.3   Filme anzeigen
  1589.  
  1590.  
  1591. Mit dem Menüpunkt Film im Menü Zeigen kann man einen Film anzeigen, wenn genau ein
  1592. Film selektiert ist. Beim Anzeigen eines Filmes gibt es die selben Möglichkeiten wie beim
  1593. Anzeigen von Bildern. Zu Beachten ist höchstens, dass jeder Film seine eigenen Anzeigeop-
  1594. tionen verwaltet.
  1595.  
  1596.  
  1597.  
  1598. 5    Input/Output
  1599.  
  1600.  
  1601. 5.1   Speichern
  1602.  
  1603.  
  1604. Mit den Menüpunkten Speichern und Speichern ... kann man Objekte abspeichern.
  1605. Für Fraktale und Filme gibt es eigene Dateiformate (vgl. Teil V), Bilder können im Screen-
  1606. Format (Doodle), im (ungepackten) Degas-Format, im Stad-Format und im GEM-Image-
  1607. Format (Snapshot-Format) gespeichert werden; das Stad-Format gibt es nur in der sw-
  1608. Version (es gibt nun mal kein farbiges Stadformat). Fraktale lassen sich ebenfalls in diesen
  1609. Bildformaten speichern, dabei werden aber die Bild-Parameter nicht mit abgespeichert,
  1610. so dass als Bild gespeicherte Fraktale nicht als gespeichert betrachtet und gekennzeichnet
  1611. werden.
  1612. Speichern und Speichern ... beziehen sich natürlich auf alle gerade selektierten Objekte.
  1613. Dabei werden Filme allerdings als letztes bearbeitet, da sich Filme nur speichern lassen,
  1614. wenn alle in ihnen enthaltenen Bilder gespeichert wurden.
  1615.  
  1616.  
  1617.  
  1618.                                            24
  1619.  
  1620.  
  1621.  
  1622.  
  1623. Speichern ... unterscheidet sich von Speichern dadurch, dass man zunächst in der Fileselec-
  1624. torbox ein Dateipfad und optional ein Extension angeben kann. Der Pfad wird dann zum
  1625. Defaultpfad, der für alle Objekte vorgeschlagen wird; mit dem Extension kann der Bild-
  1626. typ gewählt werden (PIC Screenformat, PI3 Degas, PAC Stad, IMG GEM-Image). Ist ein
  1627. Extension angegeben, so werden auch Fraktale defaultmässig in diesem Format gespeichert.
  1628. Im Modus Speichern ist der Defaultpfad der in den Einstellungen angegebene, er wird aber
  1629. nur verwendet, wenn der Pfad eines Bildes noch nicht gesetzt ist.
  1630. Für jedes zu speichernde Objekt wird nun zunächst eine Dialogbox aufgebaut, in der die
  1631. Nummer des Objektes, der Objekttyp (Fraktal, Bild oder Film) und der Objektstatus
  1632. (geändert oder unverändert) angezeigt wird. Mit dem Button Show kann man bei Bildern
  1633. einen Blick auf das Bild werfen.
  1634. Unter diesen zur Information dienenden Angaben befindet sich der Bildname und der Da-
  1635. teipfad, ausserdem wird das Dateiformat angezeigt. Dieses kann man durch Anklicken eines
  1636. der Button ändern, es wird dann automatisch das entsprechende Extension in den Namen
  1637. eingetragen. Mit dem Button Select können diese via Dateiselectorbox geändert werden,
  1638. natürlich ist dies auch direkt mit der Tastatur möglich.
  1639. Der Dateityp, unter dem ein Bild oder auch ein Fraktal abgespeichert wird, wird durch das
  1640. hier eingestellte Dateiextension festgelegt. CH? ist nur bei Fraktalen möglich und bedeutet
  1641. das Abspeichern als Fraktal; mit PIC, PI3 oder PAC wird das Fraktal oder das Bild im
  1642. entsprechenden Dateityp gespeichert. Andere Extension sind nicht möglich (ausser natürlich
  1643. FF3 für Filme), versucht man mit einem anderen Extension zu speichern, so korrigiert
  1644. CHAOSultd das Extension, gibt eine Meldung aus und verlässt die Dialogbox nicht.
  1645. Zum Verlassen der Box stehen vier Button zur Verfügung: bei Speichern wird das Bild
  1646. gespeichert und die Dialogbox für das nächste Bild angezeigt, weiter geht zum nächsten
  1647. Bild über ohne das aktuelle Bild zu speichern, Abbruch bricht den ganzen Speicherprozess
  1648. ab.
  1649. Bleibt noch Info aus. Mit diesem Button kann man veranlassen, das für die noch folgenden
  1650. zu speichernden Bilder keine Eingaben mehr gemacht werden können. CHAOSultd stellt
  1651. dann nur noch die Parameter in der gleichen Weise wie bisher dar, geht aber anschliessend
  1652. sofort mit den Defaultparametern zum Speichern über (Dies lässt sich auch von Anfang
  1653. an erreichen, indem man in den Einstellungen die Nachfrage bei save abstellt. Es ist aber
  1654. zumindest Anfangs zu empfehlen, wenigstens beim ersten Bild zu überprüfen, ob die Spei-
  1655. cherfunktion auch das tut, was man wollte.). In diesem Fall kann das Abspeichern durch
  1656. Drücken der Alternate-Taste abgebrochen werden.
  1657. Kommt es beim Speichern zu einem Namenskonflikt (eine Datei soll erzeugt werden, die
  1658. schon besteht) so wird dies (abhängig von den Einstellungen des Programms) in einer der
  1659. Dialogbox beim Speichern sehr ähnlichen Box angezeigt. Man kann hier den Namen noch-
  1660. mals ändern, und die Box wiederum auf viererlei Weise verlassen. Überschreiben speichert
  1661. das Objekt mit dem eingestellten (eventuell geändertem) Namen ohne sich um eine even-
  1662. tuell bestehende Datei zu kümmern, Weiter und Speichern arbeiten wie oben beschrieben,
  1663. Msg. aus schaltet analog zu Info aus die Warnung von Überschreiben ab.
  1664. Gespeicherte Objekte werden auf dem Desktop abgehakt dargestellt, Fraktale, die als Bilder
  1665. gespeichert wurden gelten wie gesagt nicht als gespeichert.
  1666.  
  1667.  
  1668.  
  1669. 5.2   Laden
  1670.  
  1671.  
  1672. Mit dem Eintrag Laden im Menü Datei kann man Objekte wieder einladen.
  1673.  
  1674.  
  1675.  
  1676.                                            25
  1677.  
  1678.  
  1679.  
  1680.  
  1681. Es erscheint die Dateiselectorbox, mit der einzelne oder auch mehrere Bilder ausgewählt
  1682. werden können.
  1683. Gibt man explizit einen Dateinamen an, so wird diese eine Datei geladen.
  1684. Gibt man aber keinen Dateinamen an, so werden alle in der Dateiselectorbox gerade darge-
  1685. stellten Dateien, sofern sie CHAOSultd-Objekte sind (also alle Dateien mit den Extension
  1686. CH?, FR3, PIC, PI3, PAC und FF322), geladen. Das Einladen lässt sich durch Drücken der
  1687. Alternate-Taste abbrechen.
  1688. Beim Laden von Filmen werden alle in dem Film enthaltenen Bilder geladen, sofern nicht
  1689. Bilder gleichen Namens und Dateipfades bereits im Speicher vorhanden sind. (nähere In-
  1690. formationen zum Aufbau einer Filmdatei in V.2)
  1691. Als Besonderheit können auch Bilder und Filme der jeweils anderen Auflösung 'geladen'
  1692. werden, also Farbfractale in die sw-Version und monochrome Bilder in die Farb-Version. Es
  1693. wird dann allerdings nicht das ganze Bild, sondern nur die Bildparameter geladen und ein
  1694. leeres Bild erzeugt. Dabei werden Parameter durch die Berechnungsroutinen an die andere
  1695. Auflösung angepasst und gegebenenfalls ergänzt.
  1696. Mit weiter kann man dann die zugehörigen Bilder erzeugen.
  1697.  
  1698.  
  1699.  
  1700. 5.3   Drucken
  1701.  
  1702.  
  1703. Zuerst die gute Nachricht:
  1704. CHAOSultd besitzt eine sehr leistungsfähige Hardcopy-Routine.
  1705. Die schlechte Nachricht:
  1706. Die Hardcopy-Routine gibt es nur in der sw-Version und nur für 24Nadel-Drucker. Andere
  1707. Drucker und das Drucken von Farbbildern wird von CHAOSultd nur insofern unterstützt,
  1708. als man auf die TOS-Hardcopy-Routine (oder irgendeine ins System eingehängte alternative
  1709. Routine) zugreifen kann.
  1710. Zum Aufruf der Hardcopy-Routine dient der Menüpunkt Drucken im Zeigen-Menü. Ausser-
  1711. dem kann die Funktion auch beim Anzeigen von Bildern angewählt werden (vgl. 3.1). Im
  1712. letzteren Fall wird nur das gerade angezeigte Bild gedruckt, beim Aufruf vom Desktop aus
  1713. alle selektierten Bilder.
  1714. Es erscheint zunächst eine Dialogbox, in der man die Druckparameter einstellen kann, soweit
  1715. man die interne Hardcopy-Routine verwendet. Druckt man über die TOS-Hardcopy so sind
  1716. diese Parameter im wesentlichen bedeutungslos, so auch in der Farb-Version.
  1717. CHAOSultd kann Bilder in drei Grössen ausdrucken; klein und gross sind Normalformate
  1718. (Bildschirmzeilen erscheinen als Zeilen auf dem Papier), quer ist ein Querformat (Bild-
  1719. schirmzeilen erscheinen als Spalten). Dabei füllt gross nicht ganz ein halbes DIN A4 Blatt,
  1720. klein ist halb so breit und halb so hoch. quer ist am grössten und füllt ein DIN A4 Blatt in
  1721. etwa aus. Grosse und kleine Bilder erscheinen im Ausdruck gleich gross (kleine werden also
  1722. doppelt so stark vergrössert), mittlere fallen etwas aus dem Rahmen.
  1723. Als Besonderheit gibt es noch die Möglichkeit doppelt als Grösse auszuwählen, in diesem
  1724. Fall werden die Bilder in der Grösse klein gedruckt, aber immer zwei nebeneinander. Dies
  1725. geht natürlich nur, wenn mindestens zwei Bilder gedruckt werden sollen, und auch nur
  1726. mit kleinen und grossen Bildern. (mittlere sind wegen der unterschiedlichen Bildgrösse nicht
  1727. möglich).
  1728. ____________________________________22
  1729.     in Farbe muss man die 3 durch eine 1 ersetzen, FR3 sind Fraktale aus FRACTAL 4.30
  1730.  
  1731.  
  1732.  
  1733.                                            26
  1734.  
  1735.  
  1736.  
  1737.  
  1738. Neben diesen Bildgrössen kann eingestellt werden, ob CHAOSultd die Bilder dicht aneinander
  1739. drucken soll, oder ob es zwischen ihnen einen Abstand lassen soll. Ist Abstand ein gewählt,
  1740. so wird zwischen den Bildern die in der Druckereinstellung (vgl. 6.2) definierte Steuerse-
  1741. quenz für LF (Linefeed) gesendet, und im Modus doppelt zwischen den beiden Bildern ein
  1742. Abstand von zwei Zeichen gelassen. Dicht, also ohne Abstand Drucken ermöglicht es vor
  1743. allen grössere Hardcopies aus mehreren Bilder zusammenzusetzen, oder auch die Auflösung
  1744. einer Hardcopy der Grösse gross zu vervierfachen, indem man vier entsprechende Bilder an-
  1745. einanderdruckt, die Erzeugung von vier solchen Bildern wird durch die Funktion vier Bilder
  1746. (vgl. 2.3) unterstützt.
  1747. Als nächstes kann man wählen, ob die (wichtigsten) Bildparameter mitausgedruckt werden
  1748. sollen oder nicht. Werden sie gedruckt, so ist es allerdings nicht möglich die Bilder dicht
  1749. aneinander zu drucken. Im Modus doppelt können die Parameter nicht gedruckt werden,
  1750. die Einstellung wird ignoriert.
  1751. Dann kann man einstellen, ob leere (Graphik-) Zeilen gedruckt werden sollen oder nicht.
  1752. Lässt man sie nicht drucken, so kann man bei nicht bildschirmfüllenden Bildern (etwa bei
  1753. 3d-Fractalen) Papier sparen.
  1754. Zu guter Letzt kann man wählen, ob und wenn nach wievielen Bildern ein Formfeed gesendet
  1755. werden soll. Setzt man die Anzahl der Bilder auf Null, so wird kein Formfeed gesendet, sonst
  1756. nach der angegebenen Anzahl von Bildern, wobei im Modus doppelt die nebeneinander
  1757. gedruckten Bilder natürlich nur einfach gezählt werden.
  1758. Unter den Button für diese Parameter finden sich drei Button, mit denen direkt Druckerkom-
  1759. mandos gesendet werden können, nämlich LF (Linefeed), FF (Formfeed) und Init. Gesendet
  1760. werden die ent- sprechenden, in der Druckereinstellung eingestellten Codes, so dass sich be-
  1761. liebige Wirkungen erzielen lassen. Gedacht ist es allerdings so, dass LF einen Papiervorschub
  1762. bewirkt, FF einen Seitenvorschub und Init die Druckerinitialisierung. Zumindest LF und FF
  1763. sollte man nicht zweckentfremden, da diese Kommandos auch von der Hardcopy-Routine
  1764. im eben genannten Sinne verwendet werden.
  1765. Aufgerufen wird die interne Hardcopy-Routine durch Verlassen der Box mit Ok. Die System-
  1766. Hardcopy ruft man durch Verlassen der Box mit den Button ALT/HELP oder TOS auf, in
  1767. der Farbversion ist dies die einzige Möglichkeit. Bei ALT/HELP wird das Drücken der Ta-
  1768. stenkombination ALT/HELP intern simuliert, bei TOS erfolgt der Hardcopyaufruf durch die
  1769. XBIOS-Funktion Scrdmp (Xbios(20)). Die Wirkung ist nur dann unterschiedlich, wenn eine
  1770. alternative Hardcopy-Routine ins System eingehängt wurde (für 9Nadel-Drucker norma-
  1771. lerweise nicht nötig), und diese nicht beide Aufrufe abfängt. Im Zweifelsfall hilft hier wie
  1772. immer das Ausprobieren.
  1773. Beim Aufruf der System-Hardcopy sind von den Parametern nur das Drucken oder Nicht-
  1774. drucken der Bildparameter und die Einstellung des Formfeed nach jeweils einer bestimmten
  1775. Anzahl von Bilder von Bedeutung.
  1776.  
  1777.  
  1778.  
  1779. 6    Einstellungen
  1780.  
  1781.  
  1782. CHAOSultd erlaubt eine Reihe von Einstellungen vorzunehmen, die auch gespeichert werden
  1783. können. Neben allgemeinen Einstellungen und den Druckercodes können die Parameter der
  1784. einzelnen Bildtypen voreingestellt werden.
  1785.  
  1786.  
  1787.  
  1788.                                            27
  1789.  
  1790.  
  1791.  
  1792.  
  1793. 6.1   allgemeine Einstellung
  1794.  
  1795.  
  1796. Die allgemeinen Einstellungen erreicht man im Datei-Menü mit dem Menüpunkt Einstellun-
  1797. gen. Hinter diesem verbirgt sich eine (wie Sie es ja inzwischen wohl gewöhnt sind) ziemlich
  1798. grosse und volle Dialogbox, in der man einige Parameter einstellen kann, die das Verhalten
  1799. des Programmes in bestimmten Situationen festlegen.
  1800. Als da wären:
  1801. Speicher frei lassen legt fest, wieviel Speicher CHAOSultd dem System (z.B. für die Datei-
  1802. selectorbox (ab TOS 1.4) oder für Accessories) übrig lassen soll. CHAOSultd belegt beim
  1803. Programmstart den grössten freien Speicherblock (normalerweise ist das (zumindest fast) der
  1804. ganze freie Speicher) abzüglich der hier angegebenen Speichermenge. Diese Einstellung wird
  1805. erst bei einem Neustart von CHAOSultd aktiv (natürlich nur wenn sie auch abgespeichert
  1806. wurde), sie ändert nichts an der momentanen Speicherbelegung.
  1807. Gong bei Berechnungsende: Hier kann man einstellen, ob bei Berechnungsende ein Gong
  1808. dieses anzeigen soll oder nicht. Der Button Test gibt den Gong versuchsweise aus, so dass
  1809. man etwa die Lautstärkeeinstellung am Monitor überprüfen kann.
  1810. Anmerkung: der Gong wird durch Ausgabe des Zeichens 7 (nicht die Ziffer 7, sondern der
  1811. ASCII Code 7) via Gemdos erzeugt. Das ist der selbe Gong, der (ensprechende Einstellung
  1812. im Kontrolfeld vorausgesetzt) auch ertönt, wenn man neben eine Dialogbox klickt. Dazu ist
  1813. es nötig, dass in den Systemvariablen das entsprechende Flag gesetzt ist, das man eben auch
  1814. löschen kann, beispielsweise mit dem Kontrolfeld. Deswegen setzt CHAOSultd diese Flag
  1815. beim Programmstart und setzt es beim Verlassen wieder auf den alten Wert zurück. Ändert
  1816. man nun während CHAOSultd läuft mit einem Accessory dieses Flag, so wird erstens (beim
  1817. Löschen des Flags) der Gong beim Berechnungsende nicht funktionieren und zweitens diese
  1818. Änderung beim Verlassen von CHAOSultd überschrieben. Das Ein- oder Ausschalten des
  1819.  
  1820. Gongs schaltet auch die drei Gongs ein bzw. aus, mit denen auf eine Garbage Collection
  1821. hingewiesen wird.
  1822. Mit Cursor bei Block ... kann man die Art des Cursors für die Auswahl von Koordinaten
  1823. aus Bildern (z.B. beim Festlegen eines Blockes) einstellen. Maus bedeutet einen normalen
  1824. GEM-Cursor (in Kreuzform), Kreuz ein Fadenkreuz.
  1825. Standartdateipfad legt den Defaultpfad für speichern und laden fest. Mittels Select kann dieser
  1826. mit der Dateiselectorbox eingestellt werden.
  1827. Standartdateityp Bilder bestimmt den Defaultdateityp für Bilder.
  1828. Nachfrage bei Save erlaubt es die Dialogbox, in der die Dateinamen zu speichernder Objekte
  1829. angezeigt werden und geändert werden können, von vorneherein abzuschalten, so dass nur
  1830. noch ein Info ausgegeben wird (vgl. Speichern 5.1).
  1831. Es folgen einige Einstellungen, mit denen Sicherheitsabfragen ein und ausgeschaltet werden
  1832. können:
  1833. Bei Datei überschreiben kann man die Warnung vor Namenskonflikten ein- und ausschalten.
  1834. (Vor allem wenn man eine grössere Zahl von Bilder zum Weiterberechnen geladen hat und
  1835. sie dann wieder abspeichern will sollte man die Warnung ausschalten, man kann dies aber
  1836. wie beschrieben auch in der Warnung selbst).
  1837. Berechnung abbrechen bezieht sich auf eine Warnung die beim Abbrechen der Berechnung
  1838. mehrerer Bilder mit ALTERNATE-ESC erscheint (bei anderen Berechungsabbrüchen kann man
  1839. die Berechung normalerweise fortsetzen, so dass keine Warnung nötig ist).
  1840. Bei Objekte löschen hat man die Möglichkeit eine Warnung bei neuen (also nicht abgespei-
  1841. cherten, erkenntlich am fehlenden Haken) Objekten, bei mehreren Objekten, nie oder immer
  1842.  
  1843.  
  1844.  
  1845.                                            28
  1846.  
  1847.  
  1848.  
  1849.  
  1850. zu erhalten,
  1851. bei Programm verlassen fällt demgegenüber lediglich die Option mehrere weg.
  1852. Verlässt man die Einstellungen mit Speichern, so werden die Einstellungen übernommen
  1853. und in die Einstellungsdatei CHS_ULTx.SET übernommen (zusammen mit den gerade einge-
  1854. stellten Druckercodes und Parametervoreinstellungen). Beim Verlassen mit Ok entfällt das
  1855. Speichern.
  1856.  
  1857.  
  1858.  
  1859. 6.2   Druckereinstellung
  1860.  
  1861.  
  1862. Die Einstellung der Druckercodes ist vor allem für Besitzer eines 24Nadel Druckers wichtig,
  1863. allerdings sollten auch die anderen hier mal hineinschauen.
  1864. Alle Druckercodesequenzen werden mit $FF aufgefüllt, das auch zur Code-Ende Erkennung
  1865. dient. Steuersequenzen dürfen diese Byte deshalb nicht enthalten.
  1866. Folgende Druckercodes werden benötigt: Graphik 180: 180dpi Graphikdruck. Die Anzahl
  1867. der Spalten wird vom Programm selber angefügt, dies soll durch das xx am Ende der Zeile
  1868. symbolisiert werden.
  1869. CR: ein einfaches Carrige Return
  1870. Abst. Gr: Zeilenvorschub xx 1/180 Zoll. Der Parameter xx am Ende wird wieder vom Pro-
  1871. gramm angefügt.
  1872. Abst. Text: Zeilenvorschub für Text
  1873. linker Rand: Kommando zum Einstellen des linken Randes. Diese Kommando wird zum
  1874. Zentrieren der Bilder verwendet, in den Zeilen darunter muss für die einzelnen Bild- und
  1875. Hardcopygrössen die jeweilige Einstellung angegeben werden.
  1876. Linefeed, Formfeed und Init Drucker sind die Steuercodes, die mittels der entsprechenden
  1877. Button in der Hardcopy-Dialogbox direkt an den Drucker geschickt werden. Linefeed und
  1878. Formfeed werden auch von der Hardcopy-Routine selbst verwendet.
  1879. Bei Ausgabe durch lässt sich festlegen, ob die Druckerausgabe mit Hilfe der Tos-Routinen
  1880. (genauer Bios) oder mittels eigener direkt auf die Centronics-Schnittstelle zugreifender Rou-
  1881. tinen erfolgen soll.
  1882. Der direkte Zugriff auf die Centronics-Schnittstelle hat zwei Vorteile. Erstens entgeht man so
  1883. dem (von wohl vielen ST Benutzern mit 24Nadel-Drucker verwendetem) FX-80 Emulator,
  1884. der sonst in die Hardcopy-Routine eingreift und nur Schrott, nicht aber das gewünschte
  1885. Bild auf dem Papier erscheinen lässt, zweitens ist der Ausdruck auf diese Weise deutlich
  1886. schneller.
  1887. Allerdings hat auch die Ausgabe via Tos ihre Vorteile. Sie erlaubt Ausdruck über die serielle
  1888. Schnittstelle23 (was ich allerdings nie getestet habe, mangels Drucker) und sie ermöglicht
  1889. den Betrieb von Druckerspoolern. Ausserdem ist sie gewissermassen die letzte Rettung, falls
  1890. meine Ausgaberoutine mit dem einen oder anderen Drucker Probleme bereitet. Ich habe
  1891. sie zwar mit meinem P6+ getestet, wo sie problemlos funktionierte, aber man kann ja nie
  1892. wissen.
  1893. Für das Verlassen der Dialogbox gilt daselbe wie bei den allgemeinen Einstellungen, bei
  1894. Speichern werden auch diese (und die Voreinstellungen der Parameter) mit abgespeichert.
  1895. ____________________________________23
  1896.     dazu muss nur die Druckeranpassung richtig eingestellt sein. Ich verweise hier nur auf das *
  1897.  *CONTROL.ACC
  1898.  
  1899.  
  1900.  
  1901.                                            29
  1902.  
  1903.  
  1904.  
  1905.  
  1906. 6.3   Voreinstellung der Bildparameter
  1907.  
  1908.  
  1909. Die Voreinstellung für die Bildparameter der Berechnungsroutinen erreicht man - soweit vor-
  1910. handen und vernünftig implementiert - via SHIFT-Klick auf den entsprechenden Menüpunkt
  1911. im Neu-Menü. Die Parameter können von dort aus nicht gespeichert werden, dazu muss man
  1912. eine der beiden anderern Einstellungen aufrufen und dort Speichern auswählen.
  1913. Alle Parameter werden in der Datei CHS_ULTx.SET gespeichert; es stört beim Starten des
  1914. Programmes nicht, wenn sich in dieser Datei Parameter von Routinen befinden, die nicht
  1915. geladen werden, diese gehen jedoch verloren, wenn man die Parameter abspeichert.
  1916. Eine weitere Funktion der Berechnungsroutinen, die keine feste Bedeutung hat, erreicht
  1917. man - soweit implementiert - mit CONTROL-Klick auf einen Menüpunkt im Neu-Menü. Die
  1918. Funktion kann beispielsweise zur Eingabe weiterer Voreinstellungen dienen.
  1919.  
  1920.  
  1921.  
  1922. 7    Besonderheiten der Farbversion
  1923.  
  1924.  
  1925. Die Farb- und sw-Version von CHAOSultd sind weitgehend gleich, insbesondere in der Be-
  1926. dienung. Abweichungen wurden an ein paar Stellen in dieser Anleitung bereits erwähnt.
  1927. Zwei Punkte, den Auflösungswechsel und die Einstellung der Farbtabelle, möchte ich hier
  1928. noch erläutern.
  1929.  
  1930.  
  1931.  
  1932. 7.1   Auf lösungswechsel
  1933.  
  1934.  
  1935. Die Farb-Version läuft prinzipiell in mittlerer Auflösung, sie muss so gestartet werden und
  1936. alle Eingabefunktionen, auch der Desktop, arbeiten in mittlerer Auflösung.
  1937. Alle Bilder werden dagegen in niedriger Auflösung berechnet und angezeigt.
  1938. Dieser Auflösungswechsel ist nötig, da für den Desktop und eine ganze Reihe von Dialog-
  1939. boxen von CHAOSultd in niedriger Auflösung nicht genug Platz wäre, Bilder andererseits
  1940. mit möglichst vielen Farben dargestellt werden sollten.
  1941. Wird nun beim Anzeigen von Bilden eine Dialogbox aufgerufen, eine Mauseingabe verlangt
  1942. uws., so wird das Bild in ein Bild mittlerer Auflösung mit 4 Graustufen umgerechnet.
  1943. Diese Umrechnung erfolgt sehr schnell, dafür geht natürlich Farbinformation verloren, so
  1944. wird zB. die erste, fünfe, neunte und dreizehnte Farbe auf die gleiche Graustufe abgebildet
  1945. (entsprechend die 2.,6.,10. und 14., die 3.,7.,11.,15. sowie die 4.,8.,12.,16.). Hat man das
  1946. Bild mit einer einigermassen normalen Farbgestaltung erzeugt, so sollten die Strukturen
  1947. weiterhin erkennbar bleiben.
  1948.  
  1949.  
  1950.  
  1951. 7.2   Farbeinstellung
  1952.  
  1953.  
  1954. Die Dialogbox zur Einstellung der Farbtabelle ist Teil von CHAOSultd (und nicht der Be-
  1955. rechnungsroutinen).
  1956. Um gleichzeitig alle Farben anzeigen zu können und eine Dialogbox zur Eingabe zu ver-
  1957. wenden wurde ein Rasterzeileninterupt verwendet, das heisst der obere Teil des Bildschirms
  1958. wird in geringer, der untere Teil in mittlerer Auflösung angezeigt.
  1959. Sollen die Farben eines zumindest teilweise existierenden Bildes geändert werden, so wird
  1960. ganz oben der obere Teil des Bildes angezeigt, dann kommen 16 Balken mit den einzelnen
  1961. Farben. Wird die Farbtabelle für ein neues Bild erstellt, so werden nur die Farbbalken
  1962. angezeigt.
  1963.  
  1964.  
  1965.  
  1966.                                            30
  1967.  
  1968.  
  1969.  
  1970.  
  1971. Unten wird eine Dialogbox angezeigt.
  1972. Mit den 16 Button direkt unter den Farbbalken kann man die zu ändernde Farbe anwählen.
  1973. Durch shift-Klick kann man mit gedrückter Maustaste eine Farbe an eine andere Stelle ko-
  1974. pieren, mit control-Klick und gedrückter Maustaste erhält man einen Farbverlauf zwischen
  1975. Anfangs- und Endfarbe.
  1976. Unter diesen 16 Button befindet sich nochmal eine Leiste mit 16 Button, die selektiert
  1977. werden können. Sie bestimmen, welche Farben beim Rotieren berücksichtigt werden. Zum
  1978. Rotieren (also zyklischen Verschieben der Farben nach links oder rechts) dienen die Button
  1979. '->' und '<-'.
  1980. Die Leisten 0-7 mit den Bezeichnungen rot, grün und blau dienen natürlich zum Einstellen
  1981. der angewählten Farbe (vgl. Control.acc).
  1982. Daneben gibt es die Möglichkeit die Farben nach dem HLS-Modell (Hue (Farbton), Light-
  1983. ness (Helligkeit) und Saturation (Sättigung)) einzugeben; dazu dienen die (quasikontinuier-
  1984. lichen) Schieber mit den Bezeichnungen Farbe, Hell. und Sättig..
  1985. Die Einstellungen im RGB- und HLS-Modell werden jeweils automatisch in das andere
  1986. Modell übernommen.
  1987. Die Button Tab 1 - Tab 12 enthalten voreingestellte Farbtabellen, die mit Einfachklick
  1988. abgerufen und mit Doppelklick eingestellt werden können (die Einstellung gilt auch noch
  1989. nach Verlassen der Dialogbox mit Abbruch). Gespeichert werden die Farbtabellen mit den
  1990. anderen Parametern (vgl. 6.1).
  1991. Zwei Anmerkungen zur Farbeinstellung:
  1992. Mit der Maus kann man grundsätzlich auch in den oberen Teil fahren, dort wird sie aber
  1993. wegen der falschen Auflösung nicht korrekt angezeigt und es sind keine Eingaben möglich.
  1994. Als Hintergrundfarbe (Farbe 0) sollte man die gleiche Farbe verwenden, die auch in mittlerer
  1995. Auflösung als Hintergrundfarbe eingestellt ist (i.a. weiss), da es sonst am oberen Bildschirm-
  1996. rand und zwischen niedriger und mittlerer Auflösung zu unschönem Flackern kommt.
  1997.  
  1998.  
  1999.  
  2000.                                            31
  2001.  
  2002.  
  2003.  
  2004.  
  2005. 8    Tastatur-Kommandos
  2006.  
  2007.  
  2008. Alle Menüpunkte können auch über Tastatur-Kommandos aufgerufen werden.
  2009. Die Kommandos werden am Ende des Menüeintrages angezeigt, wobei einfache Buchstaben
  2010. die Taste ohne Zusatztasten und '^'-Buchstabe die Taste zusammen mit der Control-Taste
  2011. bedeutet.
  2012. Grundsätzlich wird der Tastatur-Code, nicht der Ascii-Code der Taste ausgewertet, so dass
  2013. insbesondere der Ziffernblock separat behandelt wird.
  2014. Die Tasten des Ziffernblockes werden für das Neu-Menü verwendet, zusätzlich sind die Ta-
  2015. sten F, D und X wie in FRACTAL 4.30 für die ersten drei Einträge (Fractale) möglich.
  2016. Zusätzlich zu den Tastatur-Kommandos zur Bedienung des Desktops und des Neu-Menüs
  2017. hat man folgende Befehle:
  2018.  Kommando |    Menü       | Eintrag
  2019.  CTRL I      | CHAOSultd |   Fractal 4.1
  2020.  CTRL L      | Datei       | Laden ...
  2021.  CTRL S      | Datei       | Speichern
  2022.  CTRL W      | Datei       | Speichern ...
  2023.  CTRL X      | Datei       | Objekte löschen
  2024.  CTRL E      | Datei       | Einstellungen
  2025.  CTRL H      | Datei       | Druckparameter
  2026.  CTRL Q      | Datei       | Prog. beenden
  2027.  S            |Zeigen      | Bild(er)
  2028.  A            |Zeigen      | alle Bilder
  2029.  C            |Zeigen      | Film
  2030.  O            |Zeigen      | Optionen
  2031.  V            |Zeigen      | Bildvergleich
  2032.  B            |Zeigen      | Block zeigen
  2033.  P            |Zeigen      | Parameter
  2034.  I            |Zeigen      | Info
  2035.  H            |Zeigen      | Bilder drucken
  2036.  W            |Weiter      | weiter
  2037.  Q            |Weiter      | alle weiter
  2038.  N            |Weiter      | neu berechnen
  2039.  M            |Weiter      | Film
  2040.  E            |Weiter      | Edit Film
  2041.  
  2042.  
  2043.  
  2044. 9    Sonstiges
  2045.  
  2046.  
  2047. Nachdem am Anfang dieses Abschnittes auf den wichtigsten Teil von CHAOSultd verwiesen
  2048. wurde, soll hier noch ein Hinweis auf den zweitwichtigsten Teil folgen, das Programm-Info.
  2049. Schliesslich habe ich das Programm nur geschrieben, um mich irgendwo verewigen zu können.
  2050. Das Programminfo ist mehrteilig; nach einer Dialogbox, die Programm und Autor nennt und
  2051. einer weiteren Dialogbox, die etwas detailiertere Angaben zum Programm bietet, folgen eine
  2052. oder mehrere weitere Dialogboxen, die die Berechnungsroutinen und ihre Autoren nennen.
  2053.  
  2054.  
  2055.  
  2056.                                            32
  2057.  
  2058.  
  2059.  
  2060.  
  2061. Teil II
  2062.  
  2063.  
  2064. die  Fractal-Routinen
  2065.  
  2066.  
  2067.  
  2068. 1    der Algorithmus
  2069.  
  2070.  
  2071. Fractale im Sinne dieser Routinen beruhen auf einer Verallgemeinerung von Mandelbrot-
  2072. und Julia-Mengen - erstere sind auch als Apfelmännchen bekannt.
  2073. Apfelmännchen beruhen bekanntlich auf Folgen komplexer Zahlen, die durch die Rekursi-
  2074. onsformel
  2075.  
  2076.  
  2077.                                       zn+1 = z2n- z0
  2078.  
  2079.  
  2080. definiert sind24.
  2081. Das Bild entsteht dann so, dass man einen Teil der komplexen Ebene auf den Bildschirm
  2082. abbildet und für jeden Punkt z0 untersucht, ob und wenn wann die Glieder der zugehörigen
  2083. Folge dem Betrage nach einen bestimmeten Wert (die Abbruchbedingung) überschreitet.
  2084. Die Farbe des Punktes bestimmt sich dann aus der der Anzahl der nötigen Iterationen bis
  2085. zum Erreichen der Abbruchbedingung.
  2086. Julia-Mengen werden fast genauso berechnet, allerdings lautet die Rekursionsformel hier
  2087.  
  2088.  
  2089.                                       zn+1 = z2n+ c
  2090.  
  2091.  
  2092. wobei c eine für alle Bildpunkte gleiche, komplexe Konstante ist.
  2093. In den Fractal-Routinen von CHAOSultd sind nun diese beiden Formeln zur folgenden
  2094. zusammengefasst:
  2095.  
  2096.  
  2097.                                    zn+1 = z2n+ ffz0 + c
  2098.  
  2099.  
  2100. wobei ff eine (reelle) Konstante ist.
  2101. Apfelmännchen erhält man aus dieser Formel leicht durch ff = 1 und c = 0, Juliamengen
  2102. durch ff = 0 und c 6= 0.
  2103. Diese Berechnungsformel liegt den Bildern, die mit den Menüpunkten Fractal(e) und 3d
  2104. Fractal(e) erzeugt werden, zugrunde. Bei pseudo-dreidimensionalen Bilder wird dabei die Be-
  2105. rechnungstiefe eines Punktes nicht durch seien Farbe dargestellt, sondern direkt als Höhen-
  2106. information verwendet.
  2107. Für freie Fract. kann die Berechnungsformel explizit angegeben werden so dass man selbst
  2108. experimentieren kann.
  2109.  
  2110.  
  2111.  
  2112. 2    Parameter
  2113.  
  2114.  
  2115. 2.1   benötigte Parameter
  2116.  
  2117.  
  2118. Wie gesagt, wird ein Ausschnitt der komplexen Zahlenebene auf den Bildschirm abgebil-
  2119. det. Dazu muss man natürlich diesen Ausschnitt, durch den minimalen und maximalen
  2120. ____________________________________24
  2121.     statt des '-' findet man teilweise auch ein '+'
  2122.  
  2123.  
  2124.  
  2125.                                            33
  2126.  
  2127.  
  2128.  
  2129.  
  2130. Real- und Imaginärteil festlegen. Des weiteren muss ff, die Konstante c (Real- und Ima-
  2131. ginärteil), die Abbruchbedingung25, also die Zahl die der Betrag der komplexen Zahl aus
  2132. der Rekursionsformel übersteigen soll, und die maximale "Tiefe", d.h. die maximale Anzahl
  2133. von Rekursionsschritten, nach der die Berechnung spätestens abgebrochen wird, festgelegt
  2134. werden.
  2135. Die max. Tiefe kann bis 9999 gross werden, je grösser sie ist, desto länger dauert allerdings
  2136. auch die Berechnung des Bildes. (Bei einer Tiefe von 9999 kann die Berechnung eines ein-
  2137. zigen Bildes durchaus mehrere Tage in Anspruch nehmen. Im allgemeinen verwendet man
  2138. kaum Tiefen über 250).
  2139. Die Abbruchbedingung kann aufgrund des für schnelle Berechnungen (s.u.) verwendeten
  2140. Festkommazahlenformates nicht grösser als 11 werden, aufgrund ihrer Definition ist sie stets
  2141. positiv, also grösser 0. Für die anderen Parameter wird lediglich geprüft, ob der minimale
  2142. Real-/ Imaginärteil auch wirklich kleiner als der maximale ist, ebenfalls aufgrund des Zah-
  2143. lenformates dürfen diese Parameter dem Betrage nach nicht grösser als ca. 127 sein. Da die
  2144. Interessanten Strukturen aber ohnedies im Bereich von 3 real und 2 Imaginär liegen (zu-
  2145. mindest in etwa) sollten sich damit trotz der an dieser Stelle fehlenden Sicherheitsabfragen
  2146. keine Probleme ergeben26.
  2147. Weiterhin muss man natürlich festlegen, wie die Anzahl der Rekursionsschritte in Farben
  2148. umgesetzt werden soll. Auch hier erlaubt CHAOSultd wesentlich mehr Einstellungsmöglich-
  2149. keiten als andere Programme.
  2150. In der SW-Version können können Bilder als reine Schwarzweissbilder oder als Graustufenbil-
  2151. der berechnet werden. Die Graustufen (fünf sind möglich) werden dabei durch Pixelmuster
  2152. (2*2 Pixel für einen Punkt) erzeugt, so dass bei ihnen die Auflösung entsprechend geringer
  2153. ist.
  2154. Zum anderen ordnet man üblicherweise die Farben der Schrittanzahl so zu, dass sich die
  2155. Farben immer wieder zyklisch wiederholen. In CHAOSultd sind dagegen maximal fünf un-
  2156. abhängige Bereiche möglich. Für jeden Bereich, der durch die maximale Schrittanzahl, für
  2157. die er noch gelten soll, festgelegt wird, kann man entweder eine feste Farbe oder aber das
  2158. zyklische Wiederholen einer bestimmten Anzahl von Farben festlegen. Im letzteren Fall muss
  2159. man angeben, welche Farben (kleinste und grösste Nummer), welche Farbe zuerst, und wie-
  2160. viele verschiedene Schrittanzahlen für eine Farbe man haben will. Zu guter letzt kann man
  2161. noch wählen, in welcher Farbe Punkte erscheinen sollen, für die die maximale Tiefe erreicht
  2162. wurde.
  2163. Ausser diesen Parametern, die den Bildinhalt beschreiben, kann man zum einen noch wählen,
  2164. ob man ein grosses, mittleres oder kleines Bild erzeugen will, was natürlich die Rechenzeit
  2165. und den Speicherbedarf beeinflusst. Zum anderen kann man zwischen zwei Berechungsrou-
  2166. tinen wählen: schnell und exakt, wobei schnell mit einem speziellen Festkommazahlenformat
  2167. arbeitet, während exakt die Rechenroutinen von Turbo/Pure C verwendet27.
  2168. (exakt ist natürlich wesentlich langsamer, weshalb ich von der Benutzung im allgemeinen
  2169. abrate).
  2170. ____________________________________25
  2171.     viele Apfelmännchenprogramme verwenden 2 als Abbruchbedingung, allerdings finde ich die Bi*
  2172.  *lder, die
  2173. mit der Abbruchbedingung 10 entstehen, schöner
  2174.   26im Berechnungsmodus exakt (s.u.) lassen sich theoretisch auch grössere Bereiche realisiere*
  2175.  *n, aber wie
  2176.  
  2177. gesagt, finden kann man da an sich nichts
  2178.   27das heisst es wird mit 80 Bit Fliesskommazahlen und einer entsprechenden Genauigkeit von 19*
  2179.  * signi-
  2180.  
  2181. fikanten Ziffern gearbeitet. Ausserdem wird ein eventuell vorhandener Fliesskommacoprozessor au*
  2182.  *tomatisch
  2183. genutzt.
  2184.  
  2185.  
  2186.  
  2187.                                            34
  2188.  
  2189.  
  2190.  
  2191.  
  2192. 2.2   Eingabe der Parameter
  2193.  
  2194.  
  2195. Wie Sie sehen ist für jedes Bild also eine ziemlich Anzahl an Parametern einzustellen. Dazu
  2196. kommt noch, dass die meisten Parameter doppelt vorhanden sind, um Bildfolgen, bei denen
  2197. nur das erste und letzte Bild angegeben werden, zu ermögliche - die Parameter der übrigen
  2198. Bilder werden dann durch Interpolation berechnet.
  2199. Für gewöhnliche Bilder, wie man sie mit anderen Fraktalprogrammen auch erzeugen kann,
  2200. gibt es aber einige Funktionen, die das Einstellen der Parameter erleichtern.
  2201. Um  Fractale  zu  erzeugen  klickt  man  in  der  Menüleiste  den  Menüpunkt  Fractal(s)  im
  2202. Menü Neu an. Es erscheint dann die (ziemlich umfangreiche, also nicht erschrecken) Dia-
  2203. logbox zum Eingeben der Parameter, in der (sofern die Einstellungsdatei CHS_ULT?.SET
  2204. korrekt geladen wurden) bereits Parameter voreingestellt sein sollten (diese Voreinstellung
  2205. ist jedesmal dieselbe, sie kann geändert werden, wenn man den Menüpunkt Fractal(s) mit
  2206. gedrückter SHIFT-Taste aufruft; bei einem erneuten Aufruf findet man also nicht wieder die
  2207. Parameter vor, die man zuletzt eingestellt hatte).
  2208. Im folgenden die Parameter von oben nach unten, als da wären, der Name des Bildes (der
  2209. später auf dem Desktop von CHAOSultd angezeigt wird und auch als Dateiname verwendet
  2210. wird), die Anzahl der Bilder (für Einzelbilder natürlich 1) sowie die gewünschte Bildgrösse.
  2211. Anschliessend kommen zweispaltig die einzelnen numerischen Bildparameter, wie in 2.1
  2212. erläutert. Dabei interessiert für Einzelbilder nur die linke Spalte, die rechte bleibt unbe-
  2213. nutzt.
  2214. Unterhalb der Parameter befinden sich einige Button, die das Leben erleichtern. Alle diese
  2215. Button können mit Einfach- und mit Doppelklick aufgerufen werden, wobei bei Einfachklicks
  2216. nur die numerischen Parameter, bei Doppelklicks auch Bildgrösse, Farben und Berechnungs-
  2217. modus verändert werden.
  2218. apf ermöglicht das Aufrufen einer Voreinstellung für das Urapfelmännchen, dies ist die
  2219. einfachste Möglichkeit ein Bild zu erhalten; mit dem Button clr kann man alle Einträge
  2220. löschen. Mit dem Button - > kann man die Parameter von links nach rechts kopieren.
  2221. Einen clr-Button gibt es auch je für die linke und rechte Parameterhälfte. Die anderen beiden
  2222. Button (für die Parameterhälften) funktionieren nur, wenn schon Bilder berechnet wurden:
  2223. Mit get übernimmt man die Parameter eines bestehenden Bildes, indem man das Bild auf
  2224. dem Desktop anklickt. Die Übernahme aller Parameter (beim Aufruf mit Doppelklick) ist
  2225. nur für gleiche Bildtypen (normale oder 3d Bilder) möglich, um die Funktion abzubrechen
  2226. genügt ein Doppelklick auf den Hintergrund. Mit CONTROL-get (Einfach- oder Doppelklick)
  2227. kann man die Konstante c durch Anklicken einer Position in einem (normalen) Fractal
  2228. setzen.
  2229. Mit block kann man Ausschnitte aus berechneten Bildern auswählen, allerdings nicht aus
  2230. 3d Bildern. Man klickt das entsprechende Bild auf dem Desktop an, es wird angezeigt,
  2231. und man kann den Ausschnitt festlegen, indem man erst durch einen Mausklick die eine
  2232. Ecke, und dann durch einen weitere Klick die zweite Ecke festlegt. Mausklick rechts führt
  2233. zum Abbruch; drückt man beim ersten Mausklick zusätzlich die SHIFT-Taste, so ist der
  2234. Ausschnitt in seinen Proportionen beliebig, ansonsten entspricht er dem Bildschirmformat.
  2235. Nun folgt noch die Einstellung des Berechnungsmodus, schnell oder exakt.
  2236. Die Einstellung der Farben wird aus Platzgründen lediglich angezeigt (im kleinsten System-
  2237. zeichensatz), eingestellt wird sie in einer eigenen Dialogbox, in die man mit dem Button
  2238. Farben gelangt.
  2239. In dieser Dialogbox kann man - in der SW-Version - zunächst mit den beiden Button s/w
  2240.  
  2241.  
  2242.  
  2243.                                            35
  2244.  
  2245.  
  2246.  
  2247.  
  2248. und grau oben in der Box wählen, ob man Schwarzweiss- oder Graustufen-Bilder haben
  2249. möchte. Dabei bewirkt ein Einfachlick das Umschalten, ohne dass die anderen Einträge in
  2250. der Dialogbox geändert werden, während ein Doppelklick gleichzeitig die Farbparameter
  2251. auf zyklisches Durchscrollen aller Farben einstellt.
  2252. Unter diesen Button sind die in den beiden Modi jeweils möglichen Farben und ihren Farb-
  2253. nummern angezeigt.
  2254. Mit den folgenden Button normal und invers wählt man, ob die Farben wie üblich (Hin-
  2255. tergrund weiss, gesetzte Pixel schwarz) oder invertiert (Hintergrund schwarz, gesetzte Pixel
  2256. weiss) dargestellt werden sollen. Übrigens lässt sich diese Einstellung (im Gegensatz zu den
  2257. anderen) jederzeit verändern, also auch wenn das Bild schon ganz oder teilweise berechnet
  2258. wurde.
  2259. In der Farbversion kann man mit dem Button zykl. ebenfalls zyklisches Durchscrollen ein-
  2260. stellen. Mit dem Button Farben einstellen kommt man in die Dialogbox zum Ändern der
  2261. Farbtabelle, die sich auch aus der Dialogbox für die Parameter mit dem Button ändern
  2262. direkt aufrufen lässt.
  2263. Nun folgen in der Dialogbox die Angaben für die fünf Farbbereiche, die aber nicht alle ge-
  2264. nutzt werden müssen. Zunächst kommt die Angabe, bis zu welcher Tiefe der Bereich gelten
  2265. soll. Der erste Bereich beginnt mit der Tiefe 0, der zweite direkt nach dem ersten usw. Der
  2266. letzte verwendete Bereich muss durch die Angabe von 9999 als Endtiefe gekennzeichnet wer-
  2267. den, folgende Bereiche werden, auch falls vorhanden nicht mehr beachtet. Bei den Bereichen
  2268. wird nicht darauf geachtet ob sie sinnvoll mit der max. Berechnungstiefe zusammenpassen,
  2269. d.h. man könnte auch bei einer max. Berechnungstiefe von meinetwegen 50 einen Bereich
  2270. von 75-100 definieren, obwohl ein solcher Bereich nie genutzt würde.
  2271. Als nächstes muss man festlegen, ob in dem Bereich die Farben zyklisch durchgewechselt
  2272. werden sollen oder nicht. Dazu dient der Button zykl.; ist er aktiviert, so werden die Farben
  2273. durchgewechselt, ansonsten nicht. Im letzteren Fall muss nur noch festgelegt werden, welche
  2274. Farbe dem Bereich zugeordnet werden soll. Dies geschieht durch den Eintrag Farbe. Dabei
  2275. gibt es eine Besonderheit, gibt man als Farbe -1 an, so wird die auf die zuletzt verwendete
  2276. Farbe folgende Farbe hergenommen, handelt es sich um den ersten Farbbereich, so wird die
  2277. Farbe 1 verwendet (auf diese Weise kann man nach zyklischen Bereichen im Farbverlauf
  2278. fortfahren ohne sich erst die letzte Farbe des Bereiches überlegen zu müssen).
  2279. Bei zyklischen Bereichen legt der Eintrag Farbe die erste verwendete Farbe fest. In den
  2280. Einträgen ... bis ... gibt man an, welche Farben hergenommen werden sollen (dabei muss der
  2281. erste Eintrag kleiner sein als der zweite) und mit Step erklärt man, wieviele Tiefenstufen in
  2282. der gleichen Farbe dargestellt werden sollen.
  2283. Als letzter Farbparameter muss schliesslich noch eingestellt werden, in welcher Farbe Punkte
  2284. dargestellt werden sollen, die "tiefer" als die max. Tiefe liegen, auch hier ist -1 als Joker
  2285. verwendbar.
  2286. Soweit zu den Parametern für die Erzeugung eines Bildes. Ich kann gut verstehen, dass
  2287. Ihnen das ganz schön kompliziert vorkommt. Es ist wohl auch nicht ganz einfach, aber zum
  2288. einen muss man ja nicht jedes Detail ausnutzen und zum anderen muss man einfach ein
  2289. bisschen herumprobieren, dann findet man sich mit der Zeit schon zurecht. Wer allerdings
  2290. geglaubt hat, schlimmeres könnte ihm nicht wiederfahren, der hat sich geirrt, es kommt
  2291. noch schlimmer:
  2292.  
  2293.  
  2294.  
  2295.                                            36
  2296.  
  2297.  
  2298.  
  2299.  
  2300. 2.3   Fractalbildfolgen
  2301.  
  2302.  
  2303. Wie bereits erwähnt gehört es zu den Fähigkeiten von FRACTAL, nicht nur Einzelbilder,
  2304. sondern auch Bildfolgen berechnen zu können. Dabei müssen die Bildparameter für das
  2305. erste und das letzte Bild sowie die Bildzahl angegeben werden, FRACTAL interpoliert
  2306. dann die Werte für die dazwischen liegenden Bilder. Die Parameter werden in der selben
  2307. Dialogbox eingegeben, wie die Parameter von Einzelbildern28. Dabei dient die linke Spalte
  2308. für die Parameter des ersten, und die rechte Spalte für die Parameter des letzten Bildes.
  2309. Alle Einstellungen die nur einfach vorhanden sind gelten für alle Bilder der Bildfolge, dies
  2310. sind Bildgrösse, Berechnungsmodus sowie die Farben. Bei den anderen Parametern kann
  2311. schliesslich noch die Art der Interpolation gewählt werden. Dazu dienen die Button rechts von
  2312. den Parameterangaben. Gewählt werden kann lineare (0), progressive (+) und degressive
  2313. (-) Interpolation. Bei linearer Interpolation sind die Unterschiede zwischen den Parametern
  2314. zweier aufeinanderfolgender Bilder stets gleich gross, bei progressiver Interpolation nehmen
  2315. sie zu und bei degressiver ab.
  2316. Noch eine Bemerkung zu den Bildnamen bei Bildfolgen: der in der Dialogbox angegebe-
  2317. ne Name kann höchstens sechs Zeichen lang sein (andernfalls werden die letzten Zeichen
  2318.  
  2319. überschrieben), ist er kürzer, so wird er mit '_' erweitert, und in den Zeichen 7 und 8 die
  2320. Nummer des jeweiligen Bildes (beginnend mit 00) eingetragen.
  2321.  
  2322.  
  2323.  
  2324. 2.4   3d Fractale
  2325.  
  2326.  
  2327. Im Vergleich zu den normalen Fractalen mit ihrer komplizierten Farbgestaltung sind 3d
  2328. Fractale fast schon einfach.
  2329. Bei 3d Fractale wird die Berechnungstiefe durch die Tiefe oder Höhe der gezeichneten Punk-
  2330. te dargestellt.
  2331. Die Parameter entsprechen weitgehend denen von normalen Fractalen. Allerdings ist die
  2332. maximale Tiefe bei 3d Fractalen auf 115, 160 bzw. 240 bei kleinen, mittleren oder grossen
  2333. Bilder beschränkt (in der sw-Version, für die Farb-Version muss man die Werte noch mal
  2334. etwa halbieren)
  2335. Es kann auch nicht zwischen schneller und genauer Berechnungsroutine unterschieden wer-
  2336. den (verwendet wird stets die schnelle Berechnugsroutine), und die Farbeinstellung fällt
  2337. ganz weg.
  2338. Eingestellt werden muss statt dessen, ob das Fractal hoch oder tief gezeichnet werden soll,
  2339. und mit welchem Raster das Fractal dargestellt werden soll. Hier hilft Ausprobieren der
  2340. Möglichkeiten und Anschauen der Ergebnisse glaube ich besser als langatmige Erklärungen.
  2341.  
  2342.  
  2343.  
  2344. 2.5   freie Fractale
  2345.  
  2346.  
  2347. Für freie Fractale, d.h. Bilder mit frei definierter Rekursionsformel, kommen zu den Para-
  2348. metern für 2d-Fractale noch einige hinzu, die in einer eigenen Dialogbox vor den anderen
  2349. Parametern eingegeben werden müssen.
  2350. ____________________________________28
  2351.     Wer also die Parametereingabe für ein Bild verstanden hat, der wird auch mit Bildfolgen ke*
  2352.  *ine grossen
  2353. Probleme haben, insofern stimmt die oben gemachte Bemerkung, es käme noch schlimmer, vielleich*
  2354.  *t doch
  2355. nicht so ganz.
  2356.  
  2357.  
  2358.  
  2359.                                            37
  2360.  
  2361.  
  2362.  
  2363.  
  2364. Berechnungsformel
  2365.  
  2366.  
  2367. Zunächst einmal muss man natürlich die Berechnungsformel angeben. Diese ist ein beliebiger
  2368. Funktionsstring, der (komplexe) Konstante, Variable, Operatoren und Funktionen enthalten
  2369. kann.
  2370. Konstante müssen die Form Realteil + i Imaginärteil besitzen und vorsichtshalber geklam-
  2371. mert werden (normalerweise brauch man eh keine).
  2372. An Variablen kann man zn, d.h. den momentanen Wert der Rekursionsfolge, z0 den Start-
  2373. wert, d.h. die komplexen Koordinaten der Bildschirmpunktes, die reelle Zahl a und die
  2374. komplexe Zahl c (wie in den weiteren Parametern eingegeben) verwenden.
  2375. An Operationen kann die üblichen binären Operationen +, -, *, / und ^ (Potenz) verwenden;
  2376. ausserdem Klammern ( und ) und Vorzeichen -.
  2377. An (komplexen) Funktionen werden unterstützt:
  2378.  Re    | Realteil einer komplexen Zahl
  2379.  Im    | Imaginärteil einer komplexen Zahl
  2380.  konj   |komplex konjugieren
  2381.  abs    |Absolutquadrat einer komplexen Zahl (abs (x + iy) = x2 + y2)
  2382.  
  2383.         |(der Name ist eigentlich falsch!)
  2384.  quad  | Quadrat
  2385.  kubik | dritte Potenz
  2386.  sin    |Sinus
  2387.  cos    |Cosinus
  2388.  exp    |Exponentialfunktion
  2389.  log    |Logarithmus
  2390. Anmerkung: möchte man die n-te Potenz einer Zahl zn verwenden (n ganz), so sollte man
  2391. nicht zn^ n benutzen, sondern die Funktionen quad, kubik, und Produkte aus zn und ihnen
  2392. - z.B. zn^ 4=quad(quad(zn)) - was wesentlich schneller berechnet wird.
  2393. Beispiele für eine Berechnungsformel:
  2394. Apfelmännchen: quad(zn)-z0 Juliamengen: quad(zn)+c
  2395. Die Berechnungsformel wird zur Auswertung übrigens compiliert, d.h. in Maschinencode
  2396.  
  2397. übersetzt, wenn auch nicht allzu guten. Tritt dabei ein Fehler auf, so wird dieser in einer
  2398. Alertbox angezeigt, die Dialogbox kann nicht mit Ok verlassen werden.
  2399.  
  2400.  
  2401.  
  2402. weitere Parameter für freie Fractale
  2403.  
  2404.  
  2405. Neben der Berechnungsformel kann man auch die Abbruchbedingung und die Art des
  2406. Punkte-Setzens beeinflussen.
  2407. Bei der Abbruchbedingung hat man die Möglichkeit eine oder zwei relevante Grössen zu
  2408. bestimmen, wobei der Betrag, der Real- sowie der Imaginärteil der Folgenglieder zur Wahl
  2409. stehen (die Abbruchbedingung lautet immer: Grösse > Abbruch, wobei Abbruch der in den
  2410. Parametern wie bei normalen Fractalen angegebene Wert ist).
  2411. Wählt man zwei Grössen und damit eigentlich zwei Bedingungen, so kann man noch die
  2412. logische Verknüpfung (and, or oder xor) zwischen diesen wählen.
  2413. Ähnlich legt man die Bedingung zum Punkte-Setzen fest. Entweder man lässt die Punkte
  2414.  
  2415. entsprechend den Berechnungsschritten setzen - nur dann kann man bei den übrigen Para-
  2416. metern auch die Farbeinstellung wie bei normalen Fractalen vornehmen - oder man definiert
  2417. eine Bedingung die erfüllt sein muss, damit ein Punkt gesetzt wird. Diese Bedingung ent-
  2418.  
  2419.  
  2420.  
  2421.                                            38
  2422.  
  2423.  
  2424.  
  2425.  
  2426. spricht der Abbruchbedingung und wird genauso festgelegt (man kann hier natürlich andere
  2427. Kombinatinen wählen), allerdings werden hier Bedingungen Grösse < Abbruch verwendet29.
  2428. Nach Verlassen der Dialogbox für frei definierte Fractale mit Ok muss man in der ganz nor-
  2429. malen Parameterdialogbox (wie für normale Fractale) noch die übrigen Parameter angeben.
  2430.  
  2431.  
  2432.  
  2433. Und was soll das alles?
  2434.  
  2435.  
  2436. Falls sie sich dies fragen, weil sie kaum noch verstehen, was denn nu bei welcher Einstellung
  2437. wie berechnet und gezeichnet wird, soll hier noch kurz erklärt werden, woher frei definierte
  2438. Fractale kommen.
  2439. Sie kommen von Pickover-Mengen, die im Spektrum der Wissenschaft Sonderheft Compu-
  2440. terkurzweil IV unter dem Stichwort Biomorphe beschrieben wurden.
  2441. Dabei verwendet man Berechnungsformeln z.B. vom Typ zn^n + c (n=3,4,5: :):und als
  2442. Abbruch- wie als Punktsetz-Bedingung Re or Im.
  2443.  
  2444.  
  2445.  
  2446. 3    unterstützte Optionen
  2447.  
  2448.  
  2449. Da die Fractal-Routinen gewissermassen das Mass aller Dinge bei der Entwicklung von
  2450. CHAOSultd waren30, jedenfalls haben sie die möglichen Optionen vorgegeben, werden im
  2451. Prinzip alle möglichen Optionen von den Fractal-Routinen auch in irgendeiner Weise un-
  2452. terstüzt.
  2453.  
  2454.  
  2455.  
  2456. 3.1   Parameter anzeigen
  2457.  
  2458.  
  2459. Alle Parameter werden angezeigt. Bei freidefinierten Fractalen muss man zur Anzeige der Be-
  2460. rechnungsformel und Abbruch- sowie Punktsetz-Bedingung in eine zweite Dialogbox (über
  2461. den Button - >frPar) verzweigen. Das gleiche gilt für die Farbtabelle in der Farb-Version.
  2462. Ändern kann man Bildnamen und Dateipfad (auch mittels Dateiselector über den Button
  2463.  
  2464. select) sowie die Farbeinstellung. Die Angaben werden nur übernommen, wenn man die
  2465. Dialogbox mit Ok verlässt.
  2466.  
  2467.  
  2468.  
  2469. 3.2   Bild-Info anzeigen
  2470.  
  2471.  
  2472. Für die Fractal-Routinen steht ein umfangreiches Bild-Info für Einzelbilder zur Verfügung,
  2473. die CHAOSultd-Routine zur Anzeige von Infos über mehrere Bilder wird unterstützt.
  2474. In Einzelbild-Infos wird angezeigt:
  2475. die Anzahl der Bildpunkte (nicht Pixel!) - insgesammt und als Höhe mal Breite;
  2476. die Berechnungszeit in Stunden, Minuten und Sekunden, sowie die Zeit pro Zeile in Sekunden
  2477. und pro Punkt in Millisekunden;
  2478. die mittlere Tiefe (Zahl der Iterationen geteilt durch Anzahl der Bildpunkte) und zum
  2479. Vergleich die maximale Tiefe;
  2480. die Anzahl der Iterationen und die Zeit pro Iteration (in Mikrosekunden);
  2481. ____________________________________29
  2482.     natürlich sind nicht alle Kombinationen von Abbruch- und Punktsetz-Bedingung auch sinnvoll*
  2483.  *, das sollte
  2484. man sich vorher überlegen
  2485.   30was nicht heisst, dass das so bleiben muss
  2486.  
  2487.  
  2488.  
  2489.                                            39
  2490.  
  2491.  
  2492.  
  2493.  
  2494. die Anzahl der nötigen Multiplikationen, die mittlere Zeit pro Multiplikation31 und die sich
  2495. daraus ergebende Zahl von Multiplikationen pro Sekunde.
  2496. Die  Angaben  über  Multiplikationen  sind  bei  freie  definierter  Berechnungsformel  nicht
  2497. möglich.
  2498. Für Infos über mehrere Bilder entsprechen die Angaben über Iterationen, Bildpunkte und
  2499. Berechnungszeit denen der Einzelinfos.
  2500.  
  2501.  
  2502.  
  2503. 3.3   Bilder anzeigen
  2504.  
  2505.  
  2506. Beim Bilder anzeigen werden die Optionen weitgehend unterstüzt. Die Anzeige von Koordi-
  2507. naten und Konstanten in bei 3d-Bildern natürlich unmöglich, bei den anderen Bildern wird
  2508. die Konstante c als Konstante angezeigt.
  2509. Ein Punktinfo ist nur bei normalen Fractalen möglich, wobei neben Koordinaten auch die
  2510. Tiefe angezeigt wird; ist sie grösser als die maximale Tiefe des Bildes, so wird dies durch das
  2511. unendlich-Symbol markiert.
  2512.  
  2513.  
  2514.  
  2515. 3.4   Block zeigen
  2516.  
  2517.  
  2518. Block-Auschnitte enthalten können nur zweidimensionale Bilder. 3d Bilder können lediglich
  2519. aus Ausschnitt in einem zweidimensionalen Bild angezeigt werden.
  2520.  
  2521.  
  2522.  
  2523. 3.5   neu berechnen
  2524.  
  2525.  
  2526. Beim neu berechnen von Fractalen können Bildgrösse, Abbruchbedingung, maximale Tiefe,
  2527. Genauigkeit, Darstellung bzw. Farbtabelle, die Farbkodierung von 2d-Bildern, das Raster
  2528. und der Modus von 3d-Bildern sowie für frei definierte Fractale die Berechnungsformel, die
  2529. Abbruchbedingung und die Punktsetz-Bedingung neu vereinbart werden.
  2530. In der Dialogbox muss dazu einerseits der gewünschte neue Wert einer Grösse angegeben
  2531. werden, der dann für alle zu neu berechnenden Bilder Verwendung findet, andererseits muss
  2532. das Neu-setzen dieses Wertes durch selektieren des zugehörigen Button aktiviert werden.
  2533. Die Einstellungen für frei definierte Fractale finden sich in einer eigenen Dialogbox, in die
  2534. man mit dem Button fr. Param. gelangt; auch die Farbtabelle wird natürlich in der üblichen
  2535. Weise eingegeben.
  2536. Bilder werden grundsätzlich nur neu berechnet, wenn sich ihre Parameter geändert haben;
  2537. hat man nur die Farbetabelle (bzw. Darstellung) geändert, so wird das Bild einfach kopiert
  2538. (soweit es bereits berechnet ist).
  2539.  
  2540.  
  2541.  
  2542. 3.6   Vier Bilder
  2543.  
  2544.  
  2545. Die Option vier Bilder wird nicht für 3d Bilder unterstützt.
  2546.  
  2547.  
  2548.  
  2549. 3.7   Hardcopy
  2550.  
  2551.  
  2552. Das Ausdrucken der Parameter unter eine Hardcopy wird voll unterstützt.
  2553.  
  2554.  
  2555.  
  2556. ____________________________________31
  2557.     d.h. die Berechnungszeit geteilt durch die Zahl der Multiplikationen, tatsächlich dauert e*
  2558.  *ine Multiplika-
  2559. tion an sich weniger lang, wobei auch noch zwischen Quadratur einer Zahl und Multiplikation zwe*
  2560.  *ier Zahlen
  2561. unterschieden werden müsste
  2562.  
  2563.  
  2564.  
  2565.                                            40
  2566.  
  2567.  
  2568.  
  2569.  
  2570. Teil III
  2571.  
  2572.  
  2573. Hüpfer
  2574.  
  2575.  
  2576.  
  2577. 1    der Algorithmus
  2578.  
  2579.  
  2580. Hüpfer basiert auf einem Algorithmus von Barry Martin, der im Computer-Kurzweil der
  2581. Zeitschrift Spektrum der Wissenschaft vorgestellt wurde.
  2582. Dabei betrachtet man eine Folge von Zahlenpaaren xn und yn mit der folgenden Iterations-
  2583. vorschrift:
  2584.  
  2585.  
  2586.                                                   q _______________
  2587.                         xn+1   =  yn - sign(xn) .   abs (b . xn - c)
  2588.  
  2589.                         yn+1   =  a - xn
  2590.  
  2591.  
  2592.  
  2593. wobei a, b und c frei wählbare Parameter sind.
  2594. Die Punkte (xn; yn) werden in einem Koordinatensystem aufgetragen, woraus sich mehr
  2595. oder weniger interessante Figuren ergeben.
  2596. Anders als bei Fractalen (siehe Teil II) erhält man hier eine Vielfalt von Formen nicht so
  2597. sehr aus der Wahl des Koordinatenausschnittes sondern aus der Wahl der Parameter a, b
  2598. und c. Das Ergebnis hängt ausserdem - ebenfalls im Unterschied zu Fractalen - recht stark
  2599. von der Anzahl der Iterationen ab: einerseits können ganze Bildteile unter Umständen erst
  2600. nach sehr vielen Iterationen zum Vorschein kommen, andererseits können auch Strukturen
  2601. bei zu vielen Iterationen durch die vielen gezeichneten Punkte wieder überdeckt werden.
  2602. Man  beachte,  dass  aufgrund  des  Algorithmus  die  Rechenzeit  nicht  von  der  Bildgrösse
  2603. abhängt32. Berechnet man kleine Bilder, so führt das lediglich zu einer Speicherplatz- nicht
  2604. aber zu einer Rechenzeitersparnis33.
  2605.  
  2606.  
  2607.  
  2608. 2    Parameter
  2609.  
  2610.  
  2611. An Parametern für die Berechnung von Hüpfer-Bildern sind zunächst einmal - wie üblich -
  2612. Bildname, Anzahl der Bilder, die Bildgrösse und in der sw-Version die Darstellung (normal
  2613. oder invers) bzw. in der Farb-Version die Farbtabelle anzugeben.
  2614. Die folgenden Parameter sind wie üblich doppelt anzugeben - für das erste und für das
  2615. letzte Bild einer Bilderfolge; berechnet man nur ein Bild, so braucht man natürlich nur die
  2616. linke Spalte auszufüllen. Auch die Button für den Interpolationsmodus sind ja bekannt.
  2617. Zunächst einmal muss man die drei Parameter a, b und c der Iterationsvorschrift angeben;
  2618. es folgen die Startwerte für x und y sowie die Festlegung des Bildausschnittes. Aus tra-
  2619. ditionellen Gründen geschieht dies im allgemeinen nicht durch minimalen und maximalen
  2620. Wert für x und y sondern durch einen Vergrösserungsfaktor (scale und einen Offset, der die
  2621. Position der Bildmitte angibt (jeweils für x und y getrennt). Man kann in der Dialogbox
  2622. ____________________________________32
  2623.     die Rechenzeit hängt hier lediglich von der Zahl der Iterationen ab, weshalb sie auch vorh*
  2624.  *er abgeschätzt
  2625. werden kann
  2626.   33das Berechnen von vier Bildern dauert allerdings trotzdem viermal so lang, da dabei die vie*
  2627.  *r Bilder
  2628.  
  2629. unabhängig von einander berechnet werden
  2630.  
  2631.  
  2632.  
  2633.                                            41
  2634.  
  2635.  
  2636.  
  2637.  
  2638. auch durch Anklicken des Button  auf die Eingabe der Minimal- und Maximal-Werte um-
  2639. schalten, dabei ist aber zu beachten, dass für die Interpolation bei Bildfolgen stets mit den
  2640. Vergrösserungsfaktoren und Offset's gerechnet wird (d.h. bei Verlassen der Box werden die
  2641. Werte in diesen Modus umgerechnet).
  2642. Schliesslich ist noch die Iterationsanzahl anzugeben und die Schrittweite, d.h. die Zahl der
  2643. Iterationen nach der jeweil ein Punkt gesetzt werden soll (normalerweise setzt man nach
  2644. jedem Schritt einen Punkt, d.h. Schrittweite 1).
  2645. Die Eingabe der Parameter wird wie bei Fractalen durch eine Reihe von Möglichkeiten
  2646. unterstützt. Es gibt die üblichen Button Def für eine Defaulteinstellung, Clr zum Löschen
  2647. aller Eingaben, - > zum Kopieren von links nach rechts, sowie je für die linke und rechte
  2648. Parameterhälfte get, blk und clr. Zusätzlich gibt es rnd. Bei get und blk werden stets alle P*
  2649.  *a-
  2650. rameter kopiert (mit Ausnahme des Namens) man kann dabei ausschliesslich Hüpfer-Bilder
  2651. auswählen. rnd ermöglicht die Vorbelegung der Parameter a, b und c mit Zufallszahlen.
  2652. Den Bereich für diese Zufallszahlen kann man durch Aufruf des Hüpfer-Menüeintrages zu-
  2653. sammen mit der CONTROL-Taste einstellen, wobei man links den minimalen und rechts den
  2654. maximalen Wert angibt.
  2655. Ebenfalls Zufallszahlen für die Bildparameter a, b und c erreicht man durch den zusätzlichen
  2656. (zu den von den Fractal-Routinen bekannten) Interpolationstyp r wie random. Wählt man
  2657. r als Interpolationstyp, so wird nicht interpoliert sondern ein Zufallswert zwischen den zwei
  2658. angegebenen Werten ermittelt (in diesem Fall ist auch bei der Berechnung eines einzigen
  2659. Bildes die rechte Parameterhälfte (wenigstens teilweise) relevant).
  2660. Die Vorbelegung der Parameter kann man wie üblich durch SHIFT-Klick auf den Hüpfer-
  2661. Menüeintrag erreichen.
  2662.  
  2663.  
  2664.  
  2665. 3    unterstützte Routinen
  2666.  
  2667.  
  2668. Die meisten Möglichkeiten von CHAOSultd werden unterstützt.
  2669. Berechnungsabbruch ist alle 256 Berechnungsschritte möglich - wie üblich durch Drücken
  2670. der ESC-Taste. Man kann dabei durch gleichzeitiges Drücken von CONTROL (an dieser Stelle
  2671. nur gleichzeitig mit dem Drücken von ESC, nicht mehr danach) erreichen, dass das Bild
  2672. - soweit bisher berechnet - für fertig erklärt wird, die Angabe für die Iterationsanzahl
  2673. wird dann entsprechend herabgesetzt (ohne Auswirkung auf weitere Bilder etwa in einer
  2674. Bilderfolge).
  2675. Beim Parameter anzeigen kann man umgekehrt die Iterationsanzahl wieder erhöhen, die
  2676. entsprechende Angabe in der Dialogbox ist edierbar. Man kann also die gewünschte neu
  2677. Iterationsanzahl eingeben, die aber grösser sein muss, als die Anzahl der bisher berechneten
  2678. Iterationen (andernfalls wird die Angabe schlicht ignoriert); ein bereits fertiges Bild kann
  2679. auf diese Weise wieder unfertig werden.
  2680. Weiter kann man Bilderinfos anzeigen lassen, wobei es aber kein ausführlicheres Info für
  2681. Einzelbilder gibt. Blockroutinen (Block zeigen, Koordinaten anzeigen beim Anzeigen der
  2682. Bilder) werden ebenso unterstützt wie das Ausdrucken der Parameter bei Hardcopies. Beim
  2683. ebenfalls möglichen Konstante anzeigen wird der letzte berechnete Punkt angezeigt, ein
  2684. Punkt-Info ist aber nicht möglich. Das Neu-Berechnen von Hüpferbildern ist möglich, wobei
  2685. alle Parameter (einschliesslich Bildausschnitt) verändert werden können.
  2686.  
  2687.  
  2688.  
  2689.                                            42
  2690.  
  2691.  
  2692.  
  2693.  
  2694. Teil IV
  2695.  
  2696.  
  2697. Feigenbaum-Diagramme
  2698.  
  2699.  
  2700.  
  2701. Feigenbaum-Diagramme wurden als Beispiel für externe Berechnungsroutinen aufgenom-
  2702. men. Sie können also nur erzeugt (geladen und verwaltet) werden, wenn sich die Datei
  2703. FEIGBAUM.XCH im Ordner CHS_ULTD befindet und so beim Starten des Programmes nach-
  2704. geladen wird. Ist dies der Fall, so verhalten sich die Routinen für den Anwender allerdings
  2705. genauso als wären sie fest im Programm installiert.
  2706. Feigenbaum-Diagramme können nur bei Monochrombetrieb verwendet werden.
  2707.  
  2708.  
  2709.  
  2710. 1    Algorithmus
  2711.  
  2712.  
  2713. Der Algorithmus von Feigenbaum-Diagrammen ist noch einfacher als der für Hüpfer.
  2714. Dabei wird eine Folge von Zahlen nach der Rekursionsformel
  2715.  
  2716.  
  2717.                                  xn+1 = r . xn . (1 - xn)
  2718.  
  2719.  
  2720. gebildet (mit x0 6= 0, z.B. x0 = 0:5).
  2721. Aufgetragen werden die Werte, die xn annimmt, gegen den Parameter r, wobei man aller-
  2722. dings die ersten N1 Folgenglieder weglässt.
  2723. Als Ergebnis erhält man das Feigenbaumdiagramm. Warum das so aussieht wie es aussieht
  2724. kann man z.B. im Spektrum der Wissenschaft Sonderheft Computerkurzweil III nachlesen.
  2725.  
  2726.  
  2727.  
  2728. 2    Parameter
  2729.  
  2730.  
  2731. Nötige Parameter zum Plotten von Feigenbaumdiagrammen sind minimaler und maximaler
  2732. Wert der Parameters r (üblicherweise zwischen 0 und 4) sowie der Folgenglieder x (natürlich
  2733. nur für die Ausgabe, die Werte liegen zwischen 0 und 1), der Startwert x0 (ebenfalls zwischen
  2734. 0 und 1), der Zeichenmodus (hoch oder quer), die Zahl der Iterationen vor dem Plotten
  2735. der Punkte (z.B. 200) und die Zahl der Iterationen beim Plotten der Punkte (z.B. ebenfalls
  2736. 200), wobei hier noch eine Schrittweite angegeben werden kann, d.h. die Zahl an Iterationen
  2737. zwischen zwei Plots (normalerweise 1, d.h. man lässt jeden Folgenwert zeichnen).
  2738. Alle diese Parameter können zusammen mit den üblichen Parametern wie Bildname, Bilder-
  2739. zahl, Bildgrösse und Farbe (normal/invers) in der Parameterdialogbox eingegeben werden.
  2740. Es gibt die üblichen Interpolationstypen falls man mehrere Bilder berechnet.
  2741. Ebenso stehen die üblichen Hilfsfunktionen zum übernehmen von Parametern aus Objek-
  2742. ten usw. zur Verfügung (allerdings ohne Unterscheidung von Doppel- und Einfachklick, es
  2743. können auch nur Feigenbaumdiagramme ausgewählt werden), der Button FGBM stellt das
  2744. Standart-Feigenbaum-Diagramm ein.
  2745.  
  2746.  
  2747.  
  2748. 3    unterstützte Routinen
  2749.  
  2750.  
  2751. Die Feigenbaumroutinen unterstützen nicht alle Möglichkeiten von CHAOSultd. Unterstützt
  2752. werden die Anzeige der Parameter, die Anzeige von Bilderinfos (aber ohne eigenen Dialog
  2753. für Einzelbilder), Blockroutinen und das Ausdrucken der Parameter.
  2754.  
  2755.  
  2756.  
  2757.                                            43
  2758.  
  2759.  
  2760.  
  2761.  
  2762. Nicht unterstützt wird die Funktion neu berechnen und das Vergrössern in vier Bilder,
  2763. Feigenbaum-Diagramme sind einfach nicht abwechslungsreich genug um diese Routinen auch
  2764. noch zu implementieren, die Routinen sollen ja insgesamt vor allem als Beispiel für exteren
  2765. Routinen und deren Realisierung dienen.
  2766.  
  2767.  
  2768.  
  2769.                                            44
  2770.